다음을 통해 공유


Maven@4 - Maven v4 작업

Apache Maven을 사용하여 빌드, 테스트 및 배포합니다.

통사론

# Maven v4
# Build, test, and deploy with Apache Maven.
- task: Maven@4
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
    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 Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
    #allowBrokenSymlinks: true # boolean. Alias: allowBrokenSymbolicLinks. Optional. Use when publishJUnitResults = true. Allow broken symbolic links. Default: true.
  # 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.
    #codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.17' | '1.11' | '1.10' | '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: false # boolean. Alias: mavenFeedAuthenticate. Authenticate with Artifacts feeds. Default: false.
    #effectivePomSkip: false # boolean. Alias: skipEffectivePom. Skip generating effective POM while authenticating with Artifacts feeds. Default: false.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud analysis. Default: false.
    #isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.
    #spotBugsRunAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs analysis. Default: false.
    #spotBugsVersion: '4.5.3.0' # string. Alias: spotBugsMavenPluginVersion. Optional. Use when spotBugsAnalysisEnabled = true. Version number. Default: 4.5.3.0.
    #spotBugsGoal: 'spotbugs' # 'spotbugs' | 'check'. Optional. Use when spotBugsAnalysisEnabled = true. The goal for the spotbugs plugin. Default: spotbugs.
    #failWhenBugsFound: true # boolean. Alias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. Optional. Use when spotBugsAnalysisEnabled = true && spotBugsGoal = check. Fail when bugs are found with spotbugs:check. Default: true.
# Maven v4
# Build, test, and deploy with Apache Maven.
- task: Maven@4
  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 Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
    #allowBrokenSymlinks: true # boolean. Alias: allowBrokenSymbolicLinks. Optional. Use when publishJUnitResults = true. Allow broken symbolic links. Default: true.
  # 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.
    #codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.17' | '1.11' | '1.10' | '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: false # boolean. Alias: mavenFeedAuthenticate. Authenticate with Artifacts feeds. Default: false.
    #effectivePomSkip: false # boolean. Alias: skipEffectivePom. Skip generating effective POM while authenticating with Artifacts feeds. Default: false.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud analysis. Default: false.
    #isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.
    #spotBugsRunAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs analysis. Default: false.
    #spotBugsVersion: '4.5.3.0' # string. Alias: spotBugsMavenPluginVersion. Optional. Use when spotBugsAnalysisEnabled = true. Version number. Default: 4.5.3.0.
    #spotBugsGoal: 'spotbugs' # 'spotbugs' | 'check'. Optional. Use when spotBugsAnalysisEnabled = true. The goal for the spotbugs plugin. Default: spotbugs.
    #failWhenBugsFound: true # boolean. Alias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. Optional. Use when spotBugsAnalysisEnabled = true && spotBugsGoal = check. Fail when bugs are found with spotbugs:check. Default: true.

입력

Azure Resource Manager 연결
입력 별칭: ConnectedServiceName. string.

통합 테스트에서 AzurePipelinesCredential 사용하도록 워크로드 ID 페더레이션으로 구성된 Azure Resource Manager 서비스 연결을 지정합니다. 자세한 내용은 통합 테스트AzurePipelinesCredential 사용 참조하세요.

메모

이 입력은 워크로드 ID 페더레이션을 사용하도록 구성된 ARM 서비스 연결만 지원합니다.


maven POM 파일
string. 필수. 기본값: pom.xml.

리포지토리 루트에서 Maven POM 파일로의 상대 경로를 지정합니다. 자세한 내용은 POM 소개를 참조하세요.


goals - 목표
string. 기본값: package.

(선택 사항) package 설정하여 코드를 컴파일하고 .war 파일로 패키지합니다. 이 인수를 비워 두면 빌드가 실패합니다. 자세한 내용은 Maven 빌드 수명 주기 소개를 참조하세요.


options - 옵션
string.

(선택 사항) 사용하려는 Maven 명령줄 옵션을 지정합니다.


Azure Pipelines 게시
boolean. 기본값: true.

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


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

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


testRunTitle - 실행 타이틀
string. 선택적. publishJUnitResults = true때 사용합니다.

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


allowBrokenSymlinks - 끊어진 기호 링크 허용
입력 별칭: allowBrokenSymbolicLinks. boolean. 선택적. publishJUnitResults = true때 사용합니다. 기본값: true.

false설정하면 테스트 결과를 게시하는 동안 태스크가 끊어진 기호 링크를 찾으면 빌드에 실패합니다.


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

코드 검사 도구를 지정합니다. 코드 검사를 사용하도록 설정하면 Maven이 실행되면 Maven 목표 목록에 깨끗한 목표가 삽입됩니다.


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

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


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

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


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

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


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

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


codeCoverageRestoreOriginalPomXml - 작업 실행 후 원래 pom.xml 복원
입력 별칭: restoreOriginalPomXml. boolean. 선택적. codeCoverageTool != None때 사용합니다. 기본값: false.

코드 검사에서는 pom.xml 수정하여 결과를 생성합니다. 원래 pom.xml유지해야 하는 경우 이 옵션을 사용합니다.


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

빌드 중에 검색될 JDK 버전을 선택하거나 JDK 경로를 수동으로 입력하여 JAVA_HOME 설정합니다. 에이전트 컴퓨터에 Java가 이미 설치된 경우 javaHomeOptionpath 설정하고 JDK 설치된 디렉터리의 경로로 jdkDirectory 지정하면 됩니다.


JDK 버전
입력 별칭: jdkVersion. string. 선택적. javaHomeSelection = JDKVersion때 사용합니다. 허용되는 값은 default, 1.17(JDK 17), 1.11(JDK 11), 1.10(JDK 10(지원되지 않는 경우), 1.9(JDK 9(지원되지 않는)), 1.8(JDK 8), 1.7(JDK 7), 1.6(JDK 6(지원되지 않는 경우)입니다. 기본값: default.

선택한 JDK 버전의 경로를 검색하고 그에 따라 JAVA_HOME 설정합니다.
참고: Microsoft에서 호스팅되지 않는 에이전트에서 실행되고 요청된 Java 버전이 에이전트 머신에 설정된 JAVA_HOME 변수로 표시된 버전이 아닌 경우 태스크는 변수 JAVA_HOME_{version}_{arch}(예: JAVA_HOME_8_X64)를 사용하여 필요한 JDK를 찾습니다. 이 변수가 이 매개 변수 및/또는 jdkArchitecture요청할 수 있는 JDK의 모든 버전 및 아키텍처에 대해 자체 호스팅 에이전트에 설정되어 있는지 확인합니다.


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

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


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에 사용할 수 있는 최대 메모리를 지정합니다.


아티팩트 피드를 사용하여 인증
입력 별칭: mavenFeedAuthenticate. boolean. 기본값: false.

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


effectivePomSkip - 아티팩트 피드 인증하는 동안 유효 POM 생성 건너뛰기
입력 별칭: skipEffectivePom. boolean. 기본값: false.

POM만 사용하여 아티팩트 피드를 사용하여 인증합니다.


sonarQube 또는 SonarCloud 분석 실행
입력 별칭: sqAnalysisEnabled. boolean. 기본값: false.

이 옵션은 Maven 작업의 버전 1을 사용하는 것에서 SonarQubeSonarCloud 마켓플레이스 확장을 사용하는 것으로 변경되었습니다.
목표 필드에서 목표를 실행한 후 SonarQube 또는 SonarCloud 분석 실행하려면 이 옵션을 사용하도록 설정합니다. 설치 또는 패키지 목표가 먼저 실행되어야 합니다. 이 Maven 작업 전에 확장 중 하나에서 빌드 파이프라인에 분석 구성 준비 작업을 추가해야 합니다.


isJacocoCoverageReportXML - SonarQube 분석 XML Jacoco 보고서 사용
boolean. 선택적. sqAnalysisEnabled = true && codeCoverageTool = JaCoCo때 사용합니다. 기본값: false.

SonarQube 분석에 XML Jacoco 보고서를 사용합니다. 테스트 보고서에 대해 자세히 알아봅니다.


Maven 버전 대한 sonarQube 스캐너
string. sqAnalysisEnabled = true때 필요합니다. 허용되는 값: latest(최신 릴리스 사용), pom(pom.xml선언된 버전 사용) 기본값: latest.

사용할 SonarQube Maven 플러그 인 버전을 지정합니다. 최신 버전을 사용하거나 pom.xml버전을 사용할 수 있습니다.


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

기본 Sun 검사를 사용하여 체크 스타일 도구를 실행합니다. pom.xml 파일에 체크 스타일 구성이 지정되지 않은 경우 기본 Sun 검사가 사용됩니다. 결과는 빌드 아티팩트로 업로드됩니다.


PMD 실행
입력 별칭: pmdAnalysisEnabled. boolean. 기본값: false.

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


FindBugs 실행
입력 별칭: findbugsAnalysisEnabled. boolean. 기본값: false.

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


SpotBugs 분석 실행
입력 별칭: spotBugsAnalysisEnabled. boolean. 기본값: false.

SpotBugs 코드 분석 플러그 인을 실행하려면 이 옵션을 사용합니다. SpotBugs Maven 플러그 인대한 자세한 정보입니다.


spotBugsVersion - 버전 번호
입력 별칭: spotBugsMavenPluginVersion. string. 선택적. spotBugsAnalysisEnabled = true때 사용합니다. 기본값: 4.5.3.0.

사용 가능한 버전의 SpotBugs대해 알아봅니다.


spotBugsGoal - 스폿버그 플러그 인 대한 목표
string. 선택적. spotBugsAnalysisEnabled = true때 사용합니다. 허용되는 값: spotbugs("스폿버그" - 발견된 버그에 대한 보고서 만들기), check("확인" - 버그가 감지되면 파이프라인이 실패함). 기본값: spotbugs.

플러그 인의 목표를 지정합니다. spotBugs 목표대해 자세히 알아보세요.


failWhenBugsFound - 스폿버그를 사용하여 버그가 발견되면 실패: 확인
입력 별칭: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. boolean. 선택적. spotBugsAnalysisEnabled = true && spotBugsGoal = check때 사용합니다. 기본값: true.

확인 목표 지정한 경우 버그가 발견되면 실패합니다. spotBug 매개 변수 세부 정보대해 자세히 알아봅니다.


작업 제어 옵션

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

출력 변수

없음.

발언

SonarQube 분석 구성이 분석 구성 준비작업에서 SonarQube 또는 SonarCloud 확장으로 이동되었습니다.

중요하다

-q MAVEN_OPTS 옵션을 사용하는 경우 유효한 pom이 올바르게 생성되지 않으며 Azure Artifacts 피드가 인증되지 않을 수 있습니다.

중요하다

사용하려는 JDK 버전이 에이전트에 이미 설치된 경우 javaHomeOptionpath 설정하고 jdkDirectory JDK 버전의 경로로 설정합니다. 이러한 옵션은 Maven 태스크에 필요한 JAVA_HOME_11_X64 환경 변수를 설정합니다. 이 환경 변수는 Java 도구 설치 관리자 작업을 사용하는 경우 자동으로 설정됩니다.

통합 테스트에서 AzurePipelinesCredential 사용

.NET, C++, Go, Java, JavaScript 및 Python용 Azure ID 라이브러리는 워크로드 ID 페더레이션지원할 있으므로 AzureCLI@2AzurePowerShell@5 작업에서 실행되는 코드는 클래스를 사용하여 Microsoft Entra ID(예: Azure에 액세스)로 인증할 수 있습니다.

많은 고객이 다른 작업에서 호출된 통합 테스트에서 Azure SDK 클라이언트 라이브러리를 사용하고 있습니다. DotNetCoreCLI@2, Maven@4VSTest@3 작업은 AzurePipelinesCredential 클래스를 사용하여 Azure 리소스에 액세스할 수 있습니다.

connectedService 속성을 워크로드 ID 페더레이션으로 구성된 Azure 서비스 연결로 설정할 수 있습니다. AzurePipelinesCredential 설정하려면 SYSTEM_ACCESSTOKEN 필요합니다.

다음 예제에서는 connectedService 작업에 대한 DotNetCoreCLI@2 입력을 보여 드립니다. VSTest@3Maven@4 사용은 비슷합니다.

- task: DotNetCoreCLI@2
  inputs:
    command: 'run'
    connectedService: <Azure service connection configured with workload identity federation>
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

AzurePipelinesCredential대한 자세한 내용은 이 AzurePipelinesCredential사용하여 Azure 서비스 연결의 보안 태세 향상을 참조하세요.

자주 묻는 질문(FAQ)

다중 모듈 프로젝트가 있지만 빌드가 실패합니다. 무엇을 확인해야 하나요?

작업 입력으로 #codeCoverageClassFilesDirectories#codeCoverageSourceDirectories 지정했는지 확인합니다. 이러한 두 매개 변수는 단일 모듈 프로젝트에 선택 사항이지만 다중 모듈 프로젝트에 필요합니다.

예제

요구 사항

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

참고 항목

  • Maven 인증
  • Azure Pipelines 사용하여 Maven 아티팩트 게시
  • java 도구 설치 관리자
  • Java 앱 빌드