Maven@4 - Maven v4-taak
Bouwen, testen en implementeren met Apache Maven.
Syntaxis
# 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.
Ingangen
azureSubscription
-
Azure Resource Manager-verbinding
Invoeralias: ConnectedServiceName
.
string
.
Geef een Azure Resource Manager-serviceverbinding op die is geconfigureerd met federatie van workloadidentiteit voor het gebruik van AzurePipelinesCredential- in integratietests. Zie AzurePipelinesCredential gebruiken in integratietestsvoor meer informatie.
Notitie
Deze invoer ondersteunt alleen ARM-serviceverbindingen die zijn geconfigureerd voor het gebruik van workloadidentiteitsfederatie.
mavenPOMFile
-
Maven POM-bestand
string
. Vereist. Standaardwaarde: pom.xml
.
Hiermee geeft u het relatieve pad van de hoofdmap van de opslagplaats naar het Maven POM-bestand. Zie Inleiding tot de POM- voor meer informatie.
goals
-
doel(en)
string
. Standaardwaarde: package
.
(Optioneel) Ingesteld op package
om uw code te compileren en in een WAR-bestand te verpakken. Als u dit argument leeg laat, mislukt de build. Zie Inleiding tot de levenscyclus van de Maven-build voor meer informatie.
options
-
opties
string
.
(Optioneel) Hiermee geeft u eventuele Maven-opdrachtregelopties die u wilt gebruiken.
publishJUnitResults
-
publiceren naar Azure Pipelines
boolean
. Standaardwaarde: true
.
Hiermee geeft u de optie om de JUnit-testresultaten te publiceren die zijn geproduceerd door de Maven-build naar Azure Pipelines. Elk testresultatenbestand dat overeenkomt met Test Results Files
wordt gepubliceerd als een testuitvoering in Azure Pipelines.
testResultsFiles
-
testresultatenbestanden
string
. Vereist wanneer publishJUnitResults = true
. Standaardwaarde: **/surefire-reports/TEST-*.xml
.
Hiermee geeft u het pad en patroon van testresultatenbestanden die moeten worden gepubliceerd.
Jokertekens kunnen worden gebruikt.
Meer informatie over bestandskoppelingspatronen.
Bijvoorbeeld **/TEST-*.xml
voor alle XML-bestanden waarvan de naam begint met TEST-
. Als er geen hoofdpad is opgegeven, worden bestanden gekoppeld onder de standaardwerkmap, waarvan de waarde beschikbaar is in de variabele $(System.DefaultWorkingDirectory)
. Een waarde van **/TEST-*.xml
resulteert bijvoorbeeld in overeenkomende bestanden van $(System.DefaultWorkingDirectory)/**/TEST-*.xml
.
titel van testRunTitle
- testuitvoering
string
. Facultatief. Gebruiken wanneer publishJUnitResults = true
.
Hiermee geeft u een naam voor de testuitvoering.
allowBrokenSymlinks
-
verbroken symbolische koppelingen toestaan
Invoeralias: allowBrokenSymbolicLinks
.
boolean
. Facultatief. Gebruiken wanneer publishJUnitResults = true
. Standaardwaarde: true
.
Als deze optie is ingesteld op false
, mislukt de build wanneer de taak een verbroken symbolische koppeling vindt tijdens het publiceren van het resultaat van tests.
hulpprogramma voor codeCoverageToolOption
- codedekking
Invoeralias: codeCoverageTool
.
string
. Toegestane waarden: None
, Cobertura
, JaCoCo
. Standaardwaarde: None
.
Hiermee geeft u het hulpprogramma voor codedekking op. Als u codedekking inschakelt, wordt het schone doel ingevoegd in de lijst met Maven-doelen wanneer Maven wordt uitgevoerd.
codeCoverageClassFilter
-
filters voor insluiting/uitsluiting van klassen
Invoeralias: classFilter
.
string
. Facultatief. Gebruiken wanneer codeCoverageTool != None
.
Hiermee geeft u een door komma's gescheiden lijst met filters op om klassen op te nemen of uit te sluiten van het verzamelen van codedekking. Bijvoorbeeld +:com.*,+:org.*,-:my.app*.*
.
codeCoverageClassFilesDirectories
-
mappen met klasbestanden
Invoeralias: classFilesDirectories
.
string
. Facultatief. Gebruiken wanneer codeCoverageTool = JaCoCo
.
Dit veld is vereist voor een project met meerdere modules.
Hiermee geeft u een door komma's gescheiden lijst met relatieve paden van het Maven POM-bestand naar mappen met klassebestanden en archiefbestanden (JAR, WAR, enzovoort). Codedekking wordt gerapporteerd voor klassebestanden in deze mappen. Bijvoorbeeld target/classes,target/testClasses
.
codeCoverageSourceDirectories
-
mappen met bronbestanden
Invoeralias: srcDirectories
.
string
. Facultatief. Gebruiken wanneer codeCoverageTool = JaCoCo
.
Dit veld is vereist voor een project met meerdere modules.
Hiermee geeft u een door komma's gescheiden lijst met relatieve paden van het Maven POM-bestand naar broncodemappen. Codedekkingsrapporten gebruiken deze om broncode te markeren. Bijvoorbeeld src/java,src/Test
.
codeCoverageFailIfEmpty
-
mislukt wanneer de resultaten van de codedekking ontbreken
Invoeralias: failIfCoverageEmpty
.
boolean
. Facultatief. Gebruiken wanneer codeCoverageTool != None
. Standaardwaarde: false
.
Mislukt de build als de codedekking geen resultaten heeft geproduceerd om te publiceren.
codeCoverageRestoreOriginalPomXml
-
oorspronkelijke pom.xml herstellen na het uitvoeren van de taak
Invoeralias: restoreOriginalPomXml
.
boolean
. Facultatief. Gebruiken wanneer codeCoverageTool != None
. Standaardwaarde: false
.
Codedekking wijzigt pom.xml
om resultaten te produceren. Gebruik deze optie als u de oorspronkelijke pom.xml
wilt behouden.
javaHomeOption
-
JAVA_HOME instellen door
Invoeralias: javaHomeSelection
.
string
. Vereist. Toegestane waarden: JDKVersion
(JDK-versie), Path
. Standaardwaarde: JDKVersion
.
Hiermee stelt u JAVA_HOME
door een JDK-versie te selecteren die wordt gedetecteerd tijdens builds of door handmatig een JDK-pad in te voeren. Als u Java al op de agentcomputer hebt geïnstalleerd, kunt u deze opgeven door javaHomeOption
in te stellen als path
en jdkDirectory
als pad naar de geïnstalleerde JDK-map.
jdkVersionOption
-
JDK-versie
Invoeralias: jdkVersion
.
string
. Facultatief. Gebruiken wanneer javaHomeSelection = JDKVersion
. Toegestane waarden: default
, 1.17
(JDK 17), 1.11
(JDK 11), 1.10
(JDK 10 (niet ondersteund)), 1.9
(JDK 9 (niet ondersteund)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (niet ondersteund)). Standaardwaarde: default
.
Probeert het pad naar de geselecteerde JDK-versie te detecteren en stelt JAVA_HOME
dienovereenkomstig in.
Opmerking: Als deze wordt uitgevoerd op een agent die niet wordt gehost door Microsoft en de aangevraagde Java-versie niet het exemplaar is dat wordt aangegeven door de JAVA_HOME
variabele die is ingesteld op de agentcomputer, is de taak afhankelijk van de variabele JAVA_HOME_{version}_{arch}
(bijvoorbeeld: JAVA_HOME_8_X64
) om de benodigde JDK te vinden. Zorg ervoor dat deze variabele is ingesteld op zelf-hostende agents voor elke versie en architectuur van de JDK die kan worden aangevraagd door deze parameter en/of door jdkArchitecture
.
jdkDirectory
-
JDK-pad
Invoeralias: jdkUserInputPath
.
string
. Vereist wanneer javaHomeSelection = Path
.
Hiermee stelt u JAVA_HOME
in op het opgegeven pad.
jdkArchitectureOption
-
JDK-architectuur
Invoeralias: jdkArchitecture
.
string
. Facultatief. Gebruiken wanneer jdkVersion != default
. Toegestane waarden: x86
, x64
. Standaardwaarde: x64
.
Levert de architectuur (x86
, x64
) van de JDK.
mavenVersionOption
-
Maven-versie
Invoeralias: mavenVersionSelection
.
string
. Vereist. Toegestane waarden: Default
, Path
(aangepast pad). Standaardwaarde: Default
.
Hiermee geeft u de standaard Maven-versie of de versie in het opgegeven aangepaste pad.
mavenDirectory
-
Maven-pad
Invoeralias: mavenPath
.
string
. Vereist wanneer mavenVersionSelection = Path
.
Levert het aangepaste pad naar de Maven-installatie (bijvoorbeeld: /usr/share/maven
).
mavenSetM2Home
-
M2_HOME variabele instellen
boolean
. Facultatief. Gebruiken wanneer mavenVersionSelection = Path
. Standaardwaarde: false
.
Hiermee stelt u de M2_HOME
variabele in op een aangepast Maven-installatiepad.
mavenOptions
-
MAVEN_OPTS instellen op
Invoeralias: mavenOpts
.
string
. Standaardwaarde: -Xmx1024m
.
Hiermee stelt u de MAVEN_OPTS
omgevingsvariabele in, die wordt gebruikt om opdrachtregelargumenten te verzenden om de JVM te starten. De vlag -Xmx
geeft het maximale geheugen aan dat beschikbaar is voor de JVM.
mavenAuthenticateFeed
-
verifiëren met artefactenfeeds
Invoeralias: mavenFeedAuthenticate
.
boolean
. Standaardwaarde: false
.
Verifieert automatisch met Azure Artifacts-feeds. Als artefactenfeeds niet in gebruik zijn, schakelt u deze optie uit voor snellere builds.
effectivePomSkip
-
Het genereren van effectieve POM overslaan tijdens verificatie met artefactenfeeds
Invoeralias: skipEffectivePom
.
boolean
. Standaardwaarde: false
.
Verifieert met artefactenfeeds alleen met behulp van de POM.
sonarQubeRunAnalysis
-
SonarQube- of SonarCloud-analyse uitvoeren
Invoeralias: sqAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Deze optie is gewijzigd van het gebruik van versie 1 van de Maven- taak tot het gebruik van de SonarQube- en SonarCloud Marketplace-extensies.
Schakel deze optie in om SonarQube- of SonarCloud-analyse uit te voeren na het uitvoeren van doelen in het veld Doelstellingen. De of pakket installeren doel moet eerst worden uitgevoerd. Voordat deze Maven-taak wordt uitgevoerd, moet u ook een Analyseconfiguratie voorbereiden taak toevoegen van een van de extensies aan de build-pijplijn.
isJacocoCoverageReportXML
-
XML-rapporten voor SonarQube-analyse gebruiken
boolean
. Facultatief. Gebruiken wanneer sqAnalysisEnabled = true && codeCoverageTool = JaCoCo
. Standaardwaarde: false
.
Maakt gebruik van XML-rapporten voor SonarQube-analyse. Meer informatie over testrapporten.
sqMavenPluginVersionChoice
-
SonarQube-scanner voor Maven-versie
string
. Vereist wanneer sqAnalysisEnabled = true
. Toegestane waarden: latest
(meest recente versie gebruiken), pom
(versie gebruiken die is gedeclareerd in uw pom.xml). Standaardwaarde: latest
.
Hiermee geeft u de Versie van de SonarQube Maven-invoegtoepassing te gebruiken. U kunt de nieuwste versie gebruiken of afhankelijk zijn van de versie in uw pom.xml
.
checkStyleRunAnalysis
-
Run Checkstyle-
Invoeralias: checkstyleAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Hiermee voert u het hulpprogramma Checkstyle uit met de standaard Sun-controles. Als er geen Checkstyle-configuratie is opgegeven in het pom.xml
-bestand, worden standaard Sun-controles gebruikt. Resultaten worden geüpload als buildartefacten.
pmdRunAnalysis
-
PMD- uitvoeren
Invoeralias: pmdAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Gebruikt het hulpprogramma voor statische PMD-analyse om te zoeken naar fouten in de code. Resultaten worden geüpload als buildartefacten.
findBugsRunAnalysis
-
Run FindBugs
Invoeralias: findbugsAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Maakt gebruik van het hulpprogramma Voor statische analyse van FindBugs om te zoeken naar fouten in de code. Resultaten worden geüpload als buildartefacten.
spotBugsRunAnalysis
-
SpotBugs-analyse uitvoeren
Invoeralias: spotBugsAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Schakel deze optie in om de invoegtoepassing SpotBugs-codeanalyse uit te voeren. Meer informatie over de SpotBugs Maven-invoegtoepassing.
spotBugsVersion
-
versienummer
Invoeralias: spotBugsMavenPluginVersion
.
string
. Facultatief. Gebruiken wanneer spotBugsAnalysisEnabled = true
. Standaardwaarde: 4.5.3.0
.
Meer informatie over de beschikbare versies van SpotBugs.
spotBugsGoal
-
Het doel voor de invoegtoepassing spotbugs
string
. Facultatief. Gebruiken wanneer spotBugsAnalysisEnabled = true
. Toegestane waarden: spotbugs
("spotbugs" - Hiermee maakt u een rapport over gevonden fouten), check
("check" - Pipeline mislukt als er fouten zijn gedetecteerd). Standaardwaarde: spotbugs
.
Hiermee geeft u het doel van de invoegtoepassing. Meer informatie over SpotBugs-doelen.
failWhenBugsFound
-
mislukt wanneer fouten worden gevonden met spotbugs: controleer
Invoeralias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound
.
boolean
. Facultatief. Gebruiken wanneer spotBugsAnalysisEnabled = true && spotBugsGoal = check
. Standaardwaarde: true
.
Mislukt wanneer fouten worden gevonden als Doel controleren is opgegeven. Meer informatie over parameterdetails van SpotBug.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
De configuratie van de SonarQube-analyse is verplaatst naar de SonarQube- of SonarCloud-extensies in de taak Analyseconfiguratie voorbereiden.
Belangrijk
Wanneer u de optie -q
in uw MAVEN_OPTS
gebruikt, wordt er geen effectieve pom correct gegenereerd en kunnen Azure Artifacts-feeds mogelijk niet worden geverifieerd.
Belangrijk
Als de JDK-versie die u wilt gebruiken al op uw agent is geïnstalleerd, stelt u javaHomeOption
in op path
en stelt u de jdkDirectory
in op het pad van de JDK-versie. Met deze opties stelt u de JAVA_HOME_11_X64
omgevingsvariabele in, die vereist is voor de Maven-taak. Deze omgevingsvariabele wordt automatisch ingesteld als u de installatietaak van het Java-hulpprogramma gebruikt.
AzurePipelinesCredential gebruiken in integratietests
De Azure Identity-bibliotheken voor .NET, C++, Go, Java, JavaScript en Python ondersteuning bieden voor federatie van workloadidentiteiten, zodat code die wordt uitgevoerd vanuit de AzureCLI@2- en AzurePowerShell@5-taken, kan worden geverifieerd met Microsoft Entra-id (bijvoorbeeld voor toegang tot Azure) met behulp van de AzurePipelinesCredential
-klasse.
Veel klanten gebruiken Azure SDK-clientbibliotheken in integratietests die worden aangeroepen vanuit andere taken. De DotNetCoreCLI@2-, Maven@4- en VSTest@3-taken hebben toegang tot Azure-resources met behulp van de AzurePipelinesCredential
-klasse.
U kunt de eigenschap connectedService
instellen op een Azure-serviceverbinding die is geconfigureerd met federatie van workloadidentiteit. Voor de AzurePipelinesCredential
moet SYSTEM_ACCESSTOKEN worden ingesteld.
In het volgende voorbeeld ziet u de connectedService
invoer voor de DotNetCoreCLI@2
taak.
VSTest@3
en Maven@4
gebruik is vergelijkbaar.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedService: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Zie dit Beveiligingspostuur verbeteren in Azure-serviceverbindingen met AzurePipelinesCredentialvoor meer informatie over AzurePipelinesCredential
.
FAQ
Ik heb een project met meerdere modules, maar mijn build mislukt. Wat moet ik controleren?
Zorg ervoor dat u #codeCoverageClassFilesDirectories
en #codeCoverageSourceDirectories
hebt opgegeven als taakinvoer. Deze twee parameters zijn optioneel voor één moduleproject, maar zijn vereist voor projecten met meerdere modules.
Voorbeelden
Eisen
Eis | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build, klassieke release |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Zelf-hostende agents moeten mogelijkheden hebben die overeenkomen met de volgende eisen taken uit te voeren die gebruikmaken van deze taak: maven: |
mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Enig |
variabelen instellen | Enig |
Agentversie | 1.89.0 of hoger |
Taakcategorie | Bouwen |