使用此工作來建置、測試及部署Apache Maven。
此版本的工作已被取代;使用 Maven@4。
使用此工作來建置、測試及部署Apache Maven。
語法
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
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.21' | '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' | 'arm64'. 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 v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
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.21' | '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 v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
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.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
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 built-in Maven feeds. Default: false.
#effectivePomSkip: false # boolean. Alias: skipEffectivePom. Skip generating effective POM while authenticating built-in 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 v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
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.
# 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.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 built-in Maven feeds. Default: false.
#effectivePomSkip: false # boolean. Alias: skipEffectivePom. Skip generating effective POM while authenticating built-in 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.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
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.
# 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.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 built-in Maven feeds. Default: false.
#effectivePomSkip: false # boolean. Alias: skipEffectivePom. Skip generating effective POM while authenticating built-in feeds. Default: false.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud 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.
輸入
mavenPOMFile
-
Maven POM 檔案
string。 必須的。 預設值:pom.xml。
指定從存放庫根目錄到 Maven POM 檔案的相對路徑。 如需詳細資訊,請參閱 POM 簡介。
goals
-
目標
string。 預設值:package。
(選擇性)設定為 package,以編譯您的程序代碼,並將其封裝成 .war 檔案。 如果您將此自變數保留空白,組建將會失敗。 如需詳細資訊,請參閱 Maven 建置生命週期簡介。
options
-
選項
string。
(選擇性)指定您想要使用的任何 Maven 命令列選項。
publishJUnitResults
-
發佈至 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 。
codeCoverageSourceDirectories
-
來源檔案目錄
輸入別名: 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,您可以將 javaHomeOption 設定為 path,並將 jdkDirectory 設定為 JDK 安裝目錄的路徑來指定它。
jdkVersionOption
-
JDK 版本
輸入別名: jdkVersion。
string。 選擇性。
javaHomeSelection = JDKVersion時使用 。 允許的值:default、1.21 (JDK 21)、1.17 (JDK 17)、1.11 (JDK 11)、1.10 (JDK 10 (超出 JDK 10) support))、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 版本和架構設定。
jdkVersionOption
-
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 版本和架構設定。
jdkVersionOption
-
JDK 版本
輸入別名: jdkVersion。
string。 選擇性。
javaHomeSelection = JDKVersion時使用 。 允許的值為:default、1.11 (JDK 11)、1.10 (JDK 10 (不支援))、1.9 (JDK 9 (不支援))、1.8 (JDK 8)、1.7 (JDK 7)、1.6 (不支援 6 (不支援 JDK 6))。 預設值:default。
嘗試探索所選 JDK 版本的路徑,並據以設定 JAVA_HOME。
jdkDirectory
-
JDK 路徑
輸入別名: jdkUserInputPath。
string。
javaHomeSelection = Path時為必要項。
將 JAVA_HOME 設定為指定的路徑。
jdkArchitectureOption
-
JDK 架構
輸入別名: jdkArchitecture。
string。 選擇性。
jdkVersion != default時使用 。 允許的值:x86、x64、arm64。 預設值:x64。
提供 JDK 的架構(x86、x64)。
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。
設定 MAVEN_OPTS 環境變數,用來傳送命令行自變數來啟動 JVM。
-Xmx 旗標會指定 JVM 可用的記憶體上限。
mavenAuthenticateFeed
-
使用成品摘要進行驗證
輸入別名: mavenFeedAuthenticate。
boolean。 預設值:false。
使用 Azure Artifacts 摘要自動進行驗證。 如果成品摘要未使用中,請取消選取此選項以取得更快速的組建。
mavenAuthenticateFeed
-
驗證內建 Maven 摘要
輸入別名: mavenFeedAuthenticate。
boolean。 預設值:false。
使用 Azure Artifacts 摘要自動進行驗證。 如果成品摘要未使用中,請取消選取此選項以取得更快速的組建。
effectivePomSkip
-
略過使用 Artifacts 摘要進行驗證時產生有效的 POM
輸入別名: skipEffectivePom。
boolean。 預設值:false。
僅使用 POM 向 Artifacts 摘要進行驗證。
effectivePomSkip
-
在驗證內建摘要時略過產生有效的 POM
輸入別名: skipEffectivePom。
boolean。 預設值:false。
僅使用 POM 向 Artifacts 摘要進行驗證。
sonarQubeRunAnalysis
-
執行 SonarQube 或 SonarCloud 分析
輸入別名: sqAnalysisEnabled。
boolean。 預設值:false。
此選項已從使用 Maven 工作的第 1 版變更為使用 SonarQube 和 SonarCloud 市集擴充功能。
啟用此選項,在 [目標] 字段中執行目標之後,執行 SonarQube 或 SonarCloud 分析。
安裝 或 套件 目標應該先執行。 在此 Maven 工作之前,您也必須將 準備分析組態 工作從其中一個延伸模組新增至建置管線。
isJacocoCoverageReportXML
-
使用 XML Jacoco 報表進行 SonarQube 分析
boolean。 選擇性。
sqAnalysisEnabled = true && codeCoverageTool = JaCoCo時使用 。 預設值:false。
使用 XML Jacoco 報表進行 SonarQube 分析。 深入瞭解 測試報告。
適用於 Maven 版本的 sqMavenPluginVersionChoice - SonarQube 掃描器
string。
sqAnalysisEnabled = true時為必要項。 允許的值:latest(使用最新版本)、pom(使用您 pom.xml中宣告的版本)。 預設值:latest。
指定要使用的 SonarQube Maven 外掛程式版本。 您可以使用最新版本,或依賴 pom.xml中的版本。
checkStyleRunAnalysis
-
執行 Checkstyle
輸入別名: checkstyleAnalysisEnabled。
boolean。 預設值:false。
使用預設的 Sun 檢查執行 Checkstyle 工具。 如果在 pom.xml 檔案中未指定 Checkstyle 組態,則會使用預設的 Sun 檢查。 結果會上傳為組建成品。
pmdRunAnalysis
-
執行 PMD
輸入別名: pmdAnalysisEnabled。
boolean。 預設值:false。
使用 PMD 靜態分析工具來尋找程式代碼中的 Bug。 結果會上傳為組建成品。
findBugsRunAnalysis
-
執行 FindBugs
輸入別名: findbugsAnalysisEnabled。
boolean。 預設值:false。
使用 FindBugs 靜態分析工具來尋找程式代碼中的 Bug。 結果會上傳為組建成品。
spotBugsRunAnalysis
-
執行 SpotBugs 分析
輸入別名: spotBugsAnalysisEnabled。
boolean。 預設值:false。
啟用此選項以執行 SpotBugs 程式代碼分析外掛程式。 SpotBugs Maven 外掛程式的詳細資訊。
spotBugsVersion
-
版本號碼
輸入別名: spotBugsMavenPluginVersion。
string。 選擇性。
spotBugsAnalysisEnabled = true時使用 。 預設值:4.5.3.0。
瞭解 可用的 SpotBugs版本。
spotBugsGoal
-
spotbugs 外掛程式的目標
string。 選擇性。
spotBugsAnalysisEnabled = true時使用 。 允許的值:spotbugs (“spotbugs” - 建立發現錯誤的報告),check (“check” - 偵測到錯誤時管線失敗)。 預設值:spotbugs。
failWhenBugsFound
-
當發現 bug 時失敗,發現 spotbugs:check
輸入別名: spotBugsFailWhenBugsFound | sbFailWhenBugsFound。
boolean。 選擇性。
spotBugsAnalysisEnabled = true && spotBugsGoal = check時使用 。 預設值:true。
如果指定 檢查目標,就會失敗。 深入瞭解 SpotBug 參數詳細數據。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性。
輸出變數
沒有。
備註
SonarQube 分析的組態已移至 SonarQube 或 SonarCloud 擴充功能的工作 準備分析組態。
這很重要
當您在 -q中使用 [MAVEN_OPTS] 選項時,將無法正確產生有效的 pom,且 Azure Artifacts 摘要可能無法驗證。
這很重要
如果您想要使用的 JDK 版本已經安裝在代理程式上,請將 javaHomeOption 設定為 path,並將 jdkDirectory 設定為 JDK 版本的路徑。 這些選項會設定 Maven 工作所需的 JAVA_HOME_11_X64 環境變數。 如果您使用 Java Tool 安裝程式工作,則會自動設定此環境變數。
FAQ
我有一個多模組專案,但我的組建失敗。 我應該檢查什麼?
請確定您已將 #codeCoverageClassFilesDirectories 和 #codeCoverageSourceDirectories 指定為工作輸入。 這兩個參數是單一模組專案的選擇性參數,但多模組專案是必要的。
範例
需求
| 要求 | 說明 |
|---|---|
| 管線類型 | YAML、傳統組建、傳統版本 |
| 執行於 | Agent、DeploymentGroup |
| 需求 | 自我裝載代理程式必須具有 功能, 符合下列 需求, 執行使用此工作的作業: maven |
| 功能 | 此工作不符合作業中後續工作的任何需求。 |
| 命令限制 | 任意 |
| Settable 變數 | 任意 |
| 代理程式版本 | 1.89.0 或更新 |
| 工作類別 | 建造 |