다음을 통해 공유


Maven@1 - Maven v1 작업

이 작업을 사용하여 Apache Maven을 사용하여 빌드합니다.

이 버전의 작업은 더 이상 사용되지 않습니다. Maven@4사용합니다.

구문론

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test Run Title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code Coverage Tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class Files Directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source Files Directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK Version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK Path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK Architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven Version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven Path. 
    #mavenSetM2Home: false # boolean. Optional. Use when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    #mavenAuthenticateFeed: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.

입력

maven POM 파일mavenPOMFile -
string; 필수 사항입니다. 기본값은 pom.xml입니다.

리포지토리 루트에서 Maven POM 파일로의 상대 경로를 지정합니다.


goals - 목표
string; 기본값은 package입니다.


options - 옵션
string;


TFS/Team Services게시 publishJUnitResults -
boolean; 기본값은 true입니다.

Maven 빌드에서 생성된 JUnit 테스트 결과를 TFS/Team Services에 게시하는 옵션을 지정합니다. 각 테스트 결과 파일 일치 Test Results Files TFS/Team Services에서 테스트 실행으로 게시됩니다.


testResultsFiles - 테스트 결과 파일
string; publishJUnitResults = true때 필요합니다. 기본값은 **/TEST-*.xml입니다.

게시할 테스트 결과 파일의 경로와 패턴을 지정합니다. 예를 들어 TEST-시작하는 이름을 가진 모든 XML 파일의 **/TEST-*.xml. 루트 경로가 지정되지 않은 경우 파일은 기본 작업 디렉터리 아래에 일치하며 이 값은 변수 $(System.DefaultWorkingDirectory)사용할 수 있습니다. 예를 들어 **/TEST-*.xml 값은 실제로 $(System.DefaultWorkingDirectory)/**/TEST-*.xml파일과 일치합니다.


testRunTitle - 테스트 실행 타이틀
string; 선택 사항. publishJUnitResults = true때 사용합니다.

테스트 실행의 이름을 지정합니다.


codeCoverageToolOption - 코드 검사 도구
입력 별칭: codeCoverageTool. string; 허용되는 값: None, Cobertura, JaCoCo. 기본값은 None입니다.

코드 검사 도구를 지정합니다.


codeCoverageClassFilter - 클래스 포함/제외 필터
입력 별칭: classFilter. string; 선택 사항. codeCoverageTool != None때 사용합니다.

코드 검사 수집에서 클래스를 포함하거나 제외할 쉼표로 구분된 필터 목록을 지정합니다. 예: +:com.*,+:org.*,-:my.app*.*.


클래스 파일 디렉터리codeCoverageClassFilesDirectories -
입력 별칭: classFilesDirectories. string; 선택 사항. codeCoverageTool = JaCoCo때 사용합니다.

이 필드는 다중 모듈 프로젝트에 필요합니다.
Maven POM 파일에서 클래스 파일 및 보관 파일(JAR, WAR 등)이 포함된 디렉터리에 대한 상대 경로의 쉼표로 구분된 목록을 지정합니다. 이러한 디렉터리에 있는 클래스 파일에 대한 코드 적용 범위가 보고됩니다. 예: target/classes,target/testClasses.


원본 파일 디렉터리codeCoverageSourceDirectories -
입력 별칭: srcDirectories. string; 선택 사항. codeCoverageTool = JaCoCo때 사용합니다.

이 필드는 다중 모듈 프로젝트에 필요합니다.
Maven POM 파일에서 소스 코드 디렉터리로 쉼표로 구분된 상대 경로 목록을 지정합니다. 코드 검사 보고서는 이를 사용하여 소스 코드를 강조 표시합니다. 예: src/java,src/Test.


코드 검사 결과가 누락된 경우 codeCoverageFailIfEmpty - 실패
입력 별칭: failIfCoverageEmpty. boolean; 선택 사항. codeCoverageTool != None때 사용합니다. 기본값은 false입니다.

코드 검사에서 게시할 결과를 생성하지 않은 경우 빌드에 실패합니다.


javaHomeOption - JAVA_HOME 설정
입력 별칭: javaHomeSelection. string; 필수 사항입니다. 허용되는 값: JDKVersion(JDK 버전), Path. 기본값은 JDKVersion입니다.

빌드 중에 검색될 JDK 버전을 선택하거나 JDK 경로를 수동으로 입력하여 JAVA_HOME 설정합니다.


JDK 버전jdkVersionOption -
입력 별칭: jdkVersion. string; 선택 사항. javaHomeSelection = JDKVersion때 사용합니다. 허용되는 값: default, 1.9(JDK 9), 1.8(JDK 8), 1.7(JDK 7), 1.6(JDK 6) 기본값은 default입니다.

선택한 JDK 버전의 경로를 검색하고 그에 따라 JAVA_HOME 설정합니다.


JDK 경로jdkDirectory -
입력 별칭: jdkUserInputPath. string; javaHomeSelection = Path때 필요합니다.

지정된 경로에 JAVA_HOME 설정합니다.


JDK 아키텍처jdkArchitectureOption -
입력 별칭: jdkArchitecture. string; 선택 사항. jdkVersion != default때 사용합니다. 허용되는 값: x86, x64. 기본값은 x64입니다.

JDK의 아키텍처(x86, x64)를 제공합니다.


mavenVersionOption - Maven 버전
입력 별칭: mavenVersionSelection. string; 필수 사항입니다. 허용되는 값: Default, Path(사용자 지정 경로). 기본값은 Default입니다.

지정된 사용자 지정 경로에서 기본 Maven 버전 또는 버전을 사용합니다.


mavenDirectory - Maven 경로
입력 별칭: mavenPath. string; mavenVersionSelection = Path때 필요합니다.

Maven 설치에 대한 사용자 지정 경로를 제공합니다(예: /usr/share/maven).


mavenSetM2Home - M2_HOME 변수 설정
boolean; 선택 사항. mavenVersionSelection = Path때 사용합니다. 기본값은 false입니다.

M2_HOME 변수를 사용자 지정 Maven 설치 경로로 설정합니다.


mavenOptions - MAVEN_OPTS 설정
입력 별칭: mavenOpts. string; 기본값은 -Xmx1024m입니다.

JVM을 시작하기 위해 명령줄 인수를 보내는 데 사용되는 MAVEN_OPTS 환경 변수를 설정합니다. -Xmx 플래그는 JVM에 사용할 수 있는 최대 메모리를 지정합니다.


mavenAuthenticateFeed - 기본 제공 Maven 피드 인증
입력 별칭: mavenFeedAuthenticate. boolean; 기본값은 true입니다.

Azure Artifacts 피드를 사용하여 자동으로 인증합니다. 아티팩트 피드를 사용하지 않는 경우 더 빠른 빌드를 위해 이 옵션을 선택 취소합니다.


sonarQube 분석실행 sonarQubeRunAnalysis -
입력 별칭: sqAnalysisEnabled. boolean; 기본값은 false입니다.

현재 목표를 실행한 후 SonarQube 분석 실행합니다. install 또는 package 목표를 먼저 실행해야 합니다.


sonarQubeServiceEndpoint - SonarQube 엔드포인트
입력 별칭: sqConnectedServiceName. string; sqAnalysisEnabled = true때 필요합니다.

SonarQube 서버 제네릭 엔드포인트를 지정합니다.


sonarQubeProjectName - SonarQube 프로젝트 이름
입력 별칭: sqProjectName. string; 선택 사항. sqAnalysisEnabled = true때 사용합니다.

SonarQube 프로젝트 이름(예: sonar.projectName)을 지정합니다.


sonarQubeProjectKey - SonarQube 프로젝트 키
입력 별칭: sqProjectKey. string; 선택 사항. sqAnalysisEnabled = true때 사용합니다.

SonarQube 프로젝트 고유 키(예: sonar.projectKey)를 지정합니다.


sonarQubeProjectVersion - SonarQube 프로젝트 버전
입력 별칭: sqProjectVersion. string; 선택 사항. sqAnalysisEnabled = true때 사용합니다.

SonarQube 프로젝트 버전(예: sonar.projectVersion)을 지정합니다.


sonarQubeSpecifyDB - SonarQube 서버 버전이 5.2보다 낮음
입력 별칭: sqDbDetailsRequired. boolean; 선택 사항. sqAnalysisEnabled = true때 사용합니다. 기본값은 false입니다.

SonarQube 서버 5.1 이하를 사용하는 경우 데이터베이스 연결 세부 정보를 지정해야 합니다.


sonarQubeDBUrl - Db 연결 문자열
입력 별칭: sqDbUrl. string; 선택 사항. sqDbDetailsRequired = true때 사용합니다.

SonarQube 서버 5.1 이하에만 사용합니다.
데이터베이스 연결 설정(예: sonar.jdbc.url 또는 jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor)을 지정합니다.


sonarQubeDBUsername - Db 사용자 이름
입력 별칭: sqDbUsername. string; 선택 사항. sqDbDetailsRequired = true때 사용합니다.

SonarQube 서버 5.1 이하에만 사용합니다.
데이터베이스 사용자의 사용자 이름(예: sonar.jdbc.username)을 지정합니다.


sonarQubeDBPassword - Db 사용자 암호
입력 별칭: sqDbPassword. string; 선택 사항. sqDbDetailsRequired = true때 사용합니다.

SonarQube 서버 5.1 이하에만 사용합니다.
데이터베이스 사용자의 암호(예: sonar.jdbc.password)를 지정합니다.


sonarQubeIncludeFullReport - 빌드 요약(SQ 5.3 이상) 전체 분석 보고서 포함
입력 별칭: sqAnalysisIncludeFullReport. boolean; 선택 사항. sqAnalysisEnabled = true때 사용합니다. 기본값은 true입니다.

이 옵션은 SonarQube 분석이 완료될 때까지 빌드를 지연합니다.


sonarQubeFailWhenQualityGateFails - 품질 게이트 오류(SQ 5.3 이상) 빌드 실패
입력 별칭: sqAnalysisBreakBuildIfQualityGateFailed. boolean; 선택 사항. sqAnalysisEnabled = true때 사용합니다.

이 옵션은 SonarQube 서버 5.3 이상을 사용하는 경우에만 사용할 수 있습니다. 빌드에서 SonarQube가 분석을 완료할 때까지 기다려야 하므로 지연이 발생합니다. SonarQube 품질 게이트에 대한 자세한 내용은.


checkStyleRunAnalysis - 실행 체크 스타일
입력 별칭: checkstyleAnalysisEnabled. boolean; 기본값은 false입니다.

기본 Sun 검사를 사용하여 체크 스타일 도구를 실행합니다. 결과는 빌드 아티팩트로 업로드됩니다.


PMD실행 pmdRunAnalysis -
입력 별칭: pmdAnalysisEnabled. boolean; 기본값은 false입니다.

PMD 정적 분석 도구를 사용하여 코드에서 버그를 찾습니다. 결과는 빌드 아티팩트로 업로드됩니다.


FindBugs실행 findBugsRunAnalysis -
입력 별칭: findbugsAnalysisEnabled. boolean; 기본값은 false입니다.

FindBugs 정적 분석 도구를 사용하여 코드에서 버그를 찾습니다. 결과는 빌드 아티팩트로 업로드됩니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.

출력 변수

없음.

요구 사항

요구 사항 설명
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 자체 호스팅 에이전트에는 다음 요구 사항과 일치하는 기능이 있어야 하며, 이 작업을 사용하는 작업을 실행해야 합니다. maven
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어느 것이든
settable 변수 어느 것이든
에이전트 버전 1.89.0 이상
작업 범주 빌드

참고하십시오