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 이상 |
작업 범주 | 빌드 |
참고하십시오
- Maven 인증
- Azure 파이프라인으로 Maven 아티팩트 게시
- java 도구 설치 관리자
- Java 앱 빌드