Maven@1 - Maven v1 작업

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

Syntax

# 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.

입력

mavenPOMFile - Maven POM 파일
string. 필수 요소. 기본값은 pom.xml입니다.

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


goals - 목표(들)
string. 기본값은 package입니다.


options - 옵션
string.


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

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


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

게시할 테스트 결과 파일의 경로와 패턴을 지정합니다. 예를 들어 로 **/TEST-*.xml 시작하는 이름을 가진 모든 XML 파일의 경우입니다 TEST-. 루트 경로를 지정하지 않으면 파일이 기본 작업 디렉터리 아래에 일치하며, 값은 변수 $(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 .


jdkVersionOption - JDK 버전
입력 별칭: 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 .


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

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


jdkArchitectureOption - JDK 아키텍처
입력 별칭: 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 피드를 사용하여 자동으로 인증합니다. 아티팩트 피드를 사용하지 않는 경우 더 빠른 빌드를 위해 이 옵션을 선택 취소합니다.


sonarQubeRunAnalysis - SonarQube 분석 실행
입력 별칭: 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 이하에만 사용합니다.
데이터베이스 연결 설정(예: 또는 jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor)을 sonar.jdbc.url 지정합니다.


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 검사를 사용하여 Checkstyle 도구를 실행합니다. 결과는 빌드 아티팩트로 업로드됩니다.


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

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


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

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


작업 제어 옵션

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

출력 변수

없음

요구 사항

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

추가 정보