Maven@4 – úloha Mavenu v4
Sestavte, otestujte a nasaďte pomocí Apache Mavenu.
Syntax
# 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.
Vstupy
azureSubscription
-
připojení Azure Resource Manageru
Vstupní alias: ConnectedServiceName
.
string
.
Zadejte připojení služby Azure Resource Manageru nakonfigurované s federací identit úloh pro použití AzurePipelinesCredential v integračních testech. Další informace najdete v tématu Použití AzurePipelinesCredential v integračních testech.
Poznámka
Tento vstup podporuje pouze připojení služby ARM nakonfigurovaná tak, aby používala federaci identit úloh.
string
. Požadovaný. Výchozí hodnota: pom.xml
.
Určuje relativní cestu z kořenového adresáře úložiště k souboru Maven POM. Další informace najdete v tématu Úvod k POM.
string
. Výchozí hodnota: package
.
(Volitelné) Nastavte package
ke kompilaci kódu a jeho zabalení do souboru .war. Pokud tento argument ponecháte prázdný, sestavení selže. Další informace najdete v tématu Úvod k životnímu cyklu sestavení Maven.
možnosti options
-
string
.
(Volitelné) Určuje všechny možnosti příkazového řádku Maven, které chcete použít.
publishJUnitResults
-
publikování do služby Azure Pipelines
boolean
. Výchozí hodnota: true
.
Určuje možnost publikování výsledků testu JUnit vytvořených sestavením Maven do Azure Pipelines. Každý soubor výsledků testů odpovídající Test Results Files
se publikuje jako testovací běh v Azure Pipelines.
testResultsFiles
-
soubory výsledků testů
string
. Požadováno při publishJUnitResults = true
. Výchozí hodnota: **/surefire-reports/TEST-*.xml
.
Určuje cestu a vzor souborů výsledků testů, které se mají publikovat.
Lze použít zástupné cardy.
Další informace o vzorech porovnávání souborů .
Například **/TEST-*.xml
pro všechny soubory XML, jejichž název začíná TEST-
. Pokud není zadaná žádná kořenová cesta, soubory se shodují pod výchozím pracovním adresářem, což je hodnota, která je k dispozici v proměnné $(System.DefaultWorkingDirectory)
. Například hodnota **/TEST-*.xml
ve skutečnosti způsobí odpovídající soubory z $(System.DefaultWorkingDirectory)/**/TEST-*.xml
.
testRunTitle
-
název testovacího spuštění
string
. Volitelný. Používá se při publishJUnitResults = true
.
Určuje název testovacího spuštění.
allowBrokenSymlinks
-
Povolit nefunkční symbolické odkazy
Vstupní alias: allowBrokenSymbolicLinks
.
boolean
. Volitelný. Používá se při publishJUnitResults = true
. Výchozí hodnota: true
.
Pokud je nastavená hodnota false
, sestavení selže, když úloha najde poškozený symbolický odkaz při publikování výsledků testů.
nástroje pro pokrytí kódu
Vstupní alias: codeCoverageTool
.
string
. Povolené hodnoty: None
, Cobertura
, JaCoCo
. Výchozí hodnota: None
.
Určuje nástroj pro pokrytí kódu. Povolení pokrytí kódu vloží čistý cíl do seznamu cílů Mavenu při spuštění Mavenu.
codeCoverageClassFilter
-
filtry zahrnutí/vyloučení třídy
Vstupní alias: classFilter
.
string
. Volitelný. Používá se při codeCoverageTool != None
.
Určuje čárkami oddělený seznam filtrů, které mají zahrnout nebo vyloučit třídy ze shromažďování pokrytí kódu. Například +:com.*,+:org.*,-:my.app*.*
.
codeCoverageClassFilesDirectories
-
adresářů souborů tříd
Vstupní alias: classFilesDirectories
.
string
. Volitelný. Používá se při codeCoverageTool = JaCoCo
.
Toto pole se vyžaduje pro projekt s více moduly.
Určuje čárkami oddělený seznam relativních cest ze souboru Maven POM do adresářů obsahujících soubory tříd a archivní soubory (JAR, WAR atd.). Pokrytí kódu je hlášeno pro soubory tříd v těchto adresářích. Například target/classes,target/testClasses
.
codeCoverageSourceDirectories
-
adresářů zdrojových souborů
Vstupní alias: srcDirectories
.
string
. Volitelný. Používá se při codeCoverageTool = JaCoCo
.
Toto pole se vyžaduje pro projekt s více moduly.
Určuje čárkami oddělený seznam relativních cest ze souboru Maven POM do adresářů zdrojového kódu. Sestavy pokrytí kódu je používají ke zvýraznění zdrojového kódu. Například src/java,src/Test
.
codeCoverageFailIfEmpty
-
selhání, pokud chybí výsledky pokrytí kódu
Vstupní alias: failIfCoverageEmpty
.
boolean
. Volitelný. Používá se při codeCoverageTool != None
. Výchozí hodnota: false
.
Sestavení selže, pokud pokrytí kódu nezveřejňovalo žádné výsledky k publikování.
codeCoverageRestoreOriginalPomXml
-
Obnovit původní pom.xml po provedení úkolu
Vstupní alias: restoreOriginalPomXml
.
boolean
. Volitelný. Používá se při codeCoverageTool != None
. Výchozí hodnota: false
.
Pokrytí kódu upraví pom.xml
, aby se vytvořily výsledky. Tuto možnost použijte, pokud potřebujete zachovat původní pom.xml
.
javaHomeOption
-
Nastavit JAVA_HOME podle
Vstupní alias: javaHomeSelection
.
string
. Požadovaný. Povolené hodnoty: JDKVersion
(verze JDK), Path
. Výchozí hodnota: JDKVersion
.
Nastaví JAVA_HOME
buď výběrem verze sady JDK, která se zjistí během sestavení, nebo ručním zadáním cesty JDK. Pokud už máte na počítači agenta nainstalovanou Javu, můžete ji zadat tak, že nastavíte javaHomeOption
jako path
a jdkDirectory
jako cestu k nainstalovanému adresáři sady JDK.
verze sady
Vstupní alias: jdkVersion
.
string
. Volitelný. Používá se při javaHomeSelection = JDKVersion
. Povolené hodnoty: default
, 1.17
(JDK 17), 1.11
(JDK 11), 1.10
(JDK 10 (mimo podporu)), 1.9
(JDK 9 (mimo podporu)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (mimo podporu)). Výchozí hodnota: default
.
Pokusí se zjistit cestu k vybrané verzi sady JDK a odpovídajícím způsobem nastaví JAVA_HOME
.
Poznámka: Pokud běží na agentu, který není hostitelem Microsoftu, a požadovaná verze Javy není ta, kterou označuje proměnná JAVA_HOME
nastavená na počítači agenta, bude úloha spoléhat na proměnnou JAVA_HOME_{version}_{arch}
(například: JAVA_HOME_8_X64
) k vyhledání potřebné sady JDK. Ujistěte se, že je tato proměnná nastavená na agentech v místním prostředí pro libovolnou verzi a architekturu sady JDK, kterou může tento parametr požadovat nebo jdkArchitecture
.
cesty JDK
Vstupní alias: jdkUserInputPath
.
string
. Požadováno při javaHomeSelection = Path
.
Nastaví JAVA_HOME
na danou cestu.
architektury sady
Vstupní alias: jdkArchitecture
.
string
. Volitelný. Používá se při jdkVersion != default
. Povolené hodnoty: x86
, x64
. Výchozí hodnota: x64
.
Poskytuje architekturu (x86
, x64
) sady JDK.
verze
Vstupní alias: mavenVersionSelection
.
string
. Požadovaný. Povolené hodnoty: Default
, Path
(vlastní cesta). Výchozí hodnota: Default
.
Určuje výchozí verzi Mavenu nebo verzi v zadané vlastní cestě.
mavenDirectory
-
cesta Mavenu
Vstupní alias: mavenPath
.
string
. Požadováno při mavenVersionSelection = Path
.
Poskytuje vlastní cestu k instalaci Mavenu (například: /usr/share/maven
).
mavenSetM2Home
-
Nastavit M2_HOME proměnnou
boolean
. Volitelný. Používá se při mavenVersionSelection = Path
. Výchozí hodnota: false
.
Nastaví proměnnou M2_HOME
na vlastní instalační cestu Mavenu.
mavenOptions
-
Nastavit MAVEN_OPTS na
Vstupní alias: mavenOpts
.
string
. Výchozí hodnota: -Xmx1024m
.
Nastaví MAVEN_OPTS
proměnnou prostředí, která slouží k odesílání argumentů příkazového řádku pro spuštění prostředí JVM. Příznak -Xmx
určuje maximální paměť dostupnou pro prostředí JVM.
mavenAuthenticateFeed
-
ověřování pomocí informačních kanálů Artifacts
Vstupní alias: mavenFeedAuthenticate
.
boolean
. Výchozí hodnota: false
.
Automaticky se ověřuje pomocí informačních kanálů Azure Artifacts. Pokud se informační kanály Artifacts nepoužívají, zrušte výběr této možnosti pro rychlejší sestavení.
effectivePomSkip
-
přeskočit generování efektivního POM při ověřování pomocí informačních kanálů Artifacts
Vstupní alias: skipEffectivePom
.
boolean
. Výchozí hodnota: false
.
Ověřuje se pomocí informačních kanálů Artifacts pouze pomocí POM.
sonarQubeRunAnalysis
-
spuštění analýzy SonarQube nebo SonarCloudu
Vstupní alias: sqAnalysisEnabled
.
boolean
. Výchozí hodnota: false
.
Tato možnost se změnila z použití verze 1 úlohy
Tuto možnost povolte, pokud chcete spustit analýzu SonarQube nebo SonarCloud po provedení cílů v poli Cíle. Nejprve by se měl spustit instalace nebo balíčku cíle. Před touto úlohou Mavenu musíte také přidat úlohu Připravit konfiguraci analýzy z jednoho z rozšíření kanálu buildu.
isJacocoCoverageReportXML
-
Použití sestav XML Jacoco pro analýzu SonarQube
boolean
. Volitelný. Používá se při sqAnalysisEnabled = true && codeCoverageTool = JaCoCo
. Výchozí hodnota: false
.
Používá sestavy XML Jacoco pro analýzu SonarQube. Přečtěte si další informace o sestavách testů.
sqMavenPluginVersionChoice
-
skener SonarQube pro verze Mavenu
string
. Požadováno při sqAnalysisEnabled = true
. Povolené hodnoty: latest
(použít nejnovější verzi), pom
(použijte verzi deklarovanou ve pom.xml). Výchozí hodnota: latest
.
Určuje verzi modulu plug-in SonarQube Maven, která se má použít. Můžete použít nejnovější verzi nebo se spolehnout na verzi ve vašem pom.xml
.
checkStyleRunAnalysis
-
checkstyle
Vstupní alias: checkstyleAnalysisEnabled
.
boolean
. Výchozí hodnota: false
.
Spustí nástroj Checkstyle s výchozími kontrolami slunce. Pokud není v souboru pom.xml
zadána žádná konfigurace Checkstyle, použijí se výchozí kontroly sun. Výsledky se nahrají jako artefakty sestavení.
pmdRunAnalysis
-
spuštění PMD
Vstupní alias: pmdAnalysisEnabled
.
boolean
. Výchozí hodnota: false
.
Pomocí nástroje pro statickou analýzu PMD vyhledá chyby v kódu. Výsledky se nahrají jako artefakty sestavení.
findBugsRunAnalysis
-
spustit FindBugs
Vstupní alias: findbugsAnalysisEnabled
.
boolean
. Výchozí hodnota: false
.
Pomocí nástroje pro statickou analýzu FindBugs vyhledá chyby v kódu. Výsledky se nahrají jako artefakty sestavení.
spotBugsRunAnalysis
-
spuštění analýzy SpotBugs
Vstupní alias: spotBugsAnalysisEnabled
.
boolean
. Výchozí hodnota: false
.
Tuto možnost povolte, pokud chcete spustit modul plug-in analýzy kódu SpotBugs. Další informace o SpotBugs Maven plugin.
spotBugsVersion
-
číslo verze
Vstupní alias: spotBugsMavenPluginVersion
.
string
. Volitelný. Používá se při spotBugsAnalysisEnabled = true
. Výchozí hodnota: 4.5.3.0
.
Přečtěte si o dostupných verzích spotbugs.
spotBugsGoal
-
cíl pro modul plug-in spotbugs
string
. Volitelný. Používá se při spotBugsAnalysisEnabled = true
. Povolené hodnoty: spotbugs
("spotbugs" – vytvoří zprávu o nalezených chybách), check
("kontrola" – Kanál selže, pokud byly zjištěny chyby). Výchozí hodnota: spotbugs
.
Určuje cíl modulu plug-in. Přečtěte si další informace o cílech SpotBugs.
failWhenBugsFound
-
Selhání při nalezení chyb pomocí spotbugs:check
Vstupní alias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound
.
boolean
. Volitelný. Používá se při spotBugsAnalysisEnabled = true && spotBugsGoal = check
. Výchozí hodnota: true
.
Selže, pokud jsou nalezeny chyby, pokud je zadán kontrola cíle. Přečtěte si další informace o podrobnostech o parametrech SpotBug.
Možnosti řízení úkolů
Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádný.
Poznámky
Konfigurace analýzy SonarQube byla přesunuta do SonarQube nebo rozšíření SonarCloud v úloze Prepare Analysis Configuration.
Důležitý
Při použití možnosti -q
ve vašem MAVEN_OPTS
se efektivní pom negeneruje správně a informační kanály Azure Artifacts nemusí být možné ověřit.
Důležitý
Pokud už je ve vašem agentu nainstalovaná verze sady JDK, nastavte javaHomeOption
na path
a nastavte jdkDirectory
na cestu verze sady JDK. Tyto možnosti nastaví proměnnou prostředí JAVA_HOME_11_X64
, kterou vyžaduje úloha Maven. Tato proměnná prostředí se nastaví automaticky, pokud používáte úlohu instalačního programu nástroje Java Tool.
Použití AzurePipelinesCredential v integračních testech
Knihovny identit Azure pro .NET, C++, Go, Java, JavaScript a Python poskytují podporu profederace identit úloh, takže kód spouštěný z AzureCLI@2 a AzurePowerShell@5 úkolů se může ověřit pomocí Microsoft Entra ID (například pro přístup k Azure) pomocí AzurePipelinesCredential
třídy.
Mnoho zákazníků používá klientské knihovny Sady Azure SDK v integračních testech vyvolané z jiných úloh. Úlohy DotNetCoreCLI@2, Maven@4 a VSTest@3 mají přístup k prostředkům Azure pomocí třídy AzurePipelinesCredential
.
Vlastnost connectedService
můžete nastavit na připojení služby Azure nakonfigurované s federací identit úloh.
AzurePipelinesCredential
vyžaduje nastavení SYSTEM_ACCESSTOKEN.
Následující příklad ukazuje vstup connectedService
úlohy DotNetCoreCLI@2
.
VSTest@3
a Maven@4
využití je podobné.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedService: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Další informace o AzurePipelinesCredential
najdete v tomto Zlepšení stavu zabezpečení v připojeních služeb Azure pomocíAzurePipelinesCredential .
FAQ
Mám projekt s více moduly, ale sestavení selhává. Co mám zkontrolovat?
Ujistěte se, že jste zadali #codeCoverageClassFilesDirectories
a #codeCoverageSourceDirectories
jako vstup úkolu. Tyto dva parametry jsou volitelné pro jeden projekt modulu, ale vyžadují se pro projekty s více moduly.
Příklady
- sestavte a nasaďte aplikaci v Javě dowebové aplikace Azure.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení, klasická verze |
Běží na | Agent, DeploymentGroup |
požadavky | Agenti v místním prostředí musí mít schopnosti, které odpovídají následujícím požadavkům ke spouštění úloh, které používají tuto úlohu: maven |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Jakýkoliv |
nastavitelné proměnné | Jakýkoliv |
Verze agenta | 1.89.0 nebo vyšší |
Kategorie úkolu | Vybudovat |
Viz také
- ověřování Mavenu
- publikování artefaktů Mavenu pomocí služby Azure Pipelines
- instalačního programu nástrojů java
- vytváření aplikací v Javě