次の方法で共有


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.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 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 接続 を する
入力エイリアス: ConnectedServiceNamestring

統合テストで AzurePipelinesCredential 使用するように、ワークロード ID フェデレーションで構成された Azure Resource Manager サービス接続を指定します。 詳細については、「統合テストで AzurePipelinesCredential を使用する 」を参照してください。

この入力では、ワークロード ID フェデレーションを使用するように構成された ARM サービス接続のみがサポートされます。


Maven POM ファイルmavenPOMFile - する
string。 必須。 既定値: pom.xml

リポジトリ ルートから Maven POM ファイルへの相対パスを指定します。 詳細については、「POM の概要」を参照してください。


goals - 目標
string。 既定値: package

(省略可能)コードをコンパイルして .war ファイルにパッケージ化するには、package に設定します。 この引数を空白のままにすると、ビルドは失敗します。 詳細については、「Maven ビルド ライフサイクル の概要」を参照してください。


options - オプションの
string

(省略可能)使用する Maven コマンド ライン オプションを指定します。


Azure Pipelinesへの発行の publishJUnitResults -
boolean。 既定値: true

Maven ビルドによって生成された JUnit テスト結果を Azure Pipelines に発行するオプションを指定します。 Test Results Files に一致する各テスト結果ファイルは、Azure Pipelines でテスト実行として発行されます。


testResultsFiles - テスト結果ファイル
stringpublishJUnitResults = trueする場合に必要です。 既定値: **/surefire-reports/TEST-*.xml

発行するテスト結果ファイルのパスとパターンを指定します。
ワイルドカードを使用することができます。
ファイル マッチング パターン について詳しくは、以下をご覧ください。
たとえば、名前が **/TEST-*.xmlで始まるすべての XML ファイルを TEST- します。 ルート パスが指定されていない場合、ファイルは既定の作業ディレクトリの下で照合され、その値は変数 $(System.DefaultWorkingDirectory)で使用できます。 たとえば、**/TEST-*.xml の値を指定すると、実際には $(System.DefaultWorkingDirectory)/**/TEST-*.xmlからのファイルが一致します。


testRunTitle - テストの実行タイトル
string。 任意。 publishJUnitResults = trueするときに使用します。

テスト実行の名前を指定します。


allowBrokenSymlinks - 壊れたシンボリック リンクの を許可する
入力エイリアス: allowBrokenSymbolicLinksboolean。 任意。 publishJUnitResults = trueするときに使用します。 既定値: true

falseに設定すると、テスト結果の発行中にタスクが壊れたシンボリック リンクを見つけたときにビルドが失敗します。


codeCoverageToolOption - コード カバレッジ ツールの
入力エイリアス: codeCoverageToolstring。 使用できる値: NoneCoberturaJaCoCo。 既定値: None

コード カバレッジ ツールを指定します。 コード カバレッジを有効にすると、Maven の実行時に、クリーンな目標が Maven の目標リストに挿入されます。


codeCoverageClassFilter - クラスの包含/除外フィルターの
入力エイリアス: classFilterstring。 任意。 codeCoverageTool != Noneするときに使用します。

コード カバレッジの収集に含める、またはクラスから除外するフィルターのコンマ区切りのリストを指定します。 たとえば、+:com.*,+:org.*,-:my.app*.* のようにします。


codeCoverageClassFilesDirectories - クラス ファイルディレクトリ
入力エイリアス: classFilesDirectoriesstring。 任意。 codeCoverageTool = JaCoCoするときに使用します。

このフィールドは、マルチモジュール プロジェクトに必要です。
Maven POM ファイルからクラス ファイルとアーカイブ ファイル (JAR、WAR など) を含むディレクトリへの相対パスのコンマ区切りの一覧を指定します。 これらのディレクトリ内のクラス ファイルのコード カバレッジが報告されます。 たとえば、target/classes,target/testClasses のようにします。


ソース ファイル ディレクトリcodeCoverageSourceDirectories - する
入力エイリアス: srcDirectoriesstring。 任意。 codeCoverageTool = JaCoCoするときに使用します。

このフィールドは、マルチモジュール プロジェクトに必要です。
Maven POM ファイルからソース コード ディレクトリへの相対パスのコンマ区切りの一覧を指定します。 コード カバレッジ レポートでは、これらを使用してソース コードが強調表示されます。 たとえば、src/java,src/Test のようにします。


codeCoverageFailIfEmpty - コード カバレッジの結果が見つからない場合に失敗
入力エイリアス: failIfCoverageEmptyboolean。 任意。 codeCoverageTool != Noneするときに使用します。 既定値: false

コード カバレッジで発行する結果が生成されなかった場合、ビルドが失敗します。


codeCoverageRestoreOriginalPomXml - タスクの実行後に元の pom.xml を復元
入力エイリアス: restoreOriginalPomXmlboolean。 任意。 codeCoverageTool != Noneするときに使用します。 既定値: false

コード カバレッジは、結果を生成するために pom.xml を変更します。 元の pom.xmlを保持する必要がある場合は、このオプションを使用します。


javaHomeOption - でJAVA_HOMEを設定する
入力エイリアス: javaHomeSelectionstring。 必須。 使用できる値: JDKVersion (JDK バージョン)、Path。 既定値: JDKVersion

ビルド中に検出される JDK バージョンを選択するか、JDK パスを手動で入力して、JAVA_HOME を設定します。 エージェント コンピューターに Java が既にインストールされている場合は、javaHomeOptionpath として設定し、JDK にインストールされたディレクトリへのパスとして jdkDirectory することで指定できます。


JDK バージョンの を する
入力エイリアス: jdkVersionstring。 任意。 javaHomeSelection = JDKVersionするときに使用します。 使用できる値: default1.21 (JDK 21)、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 変数によって示されていない場合、タスクは必要な JDK を見つけるために変数 JAVA_HOME_{version}_{arch} (JAVA_HOME_8_X64など) に依存します。 この変数は、このパラメーターまたは jdkArchitectureによって要求される JDK の任意のバージョンとアーキテクチャに対して、セルフホステッド エージェントに設定されていることを確認します。


JDK バージョンの を する
入力エイリアス: jdkVersionstring。 任意。 javaHomeSelection = JDKVersionするときに使用します。 使用できる値: default1.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 変数によって示されていない場合、タスクは必要な JDK を見つけるために変数 JAVA_HOME_{version}_{arch} (JAVA_HOME_8_X64など) に依存します。 この変数は、このパラメーターまたは jdkArchitectureによって要求される JDK の任意のバージョンとアーキテクチャに対して、セルフホステッド エージェントに設定されていることを確認します。


JDK パスjdkDirectory - する
入力エイリアス: jdkUserInputPathstringjavaHomeSelection = Pathする場合に必要です。

指定したパスに JAVA_HOME を設定します。


jdkArchitectureOption - JDK アーキテクチャの
入力エイリアス: jdkArchitecturestring。 任意。 jdkVersion != defaultするときに使用します。 使用できる値: x86x64。 既定値: x64

JDK のアーキテクチャ (x86x64) を提供します。


Maven バージョンのmavenVersionOption - する
入力エイリアス: mavenVersionSelectionstring。 必須。 使用できる値: DefaultPath (カスタム パス)。 既定値: Default

既定の Maven バージョンまたは指定したカスタム パス内のバージョンを指定します。


Maven パスmavenDirectory - する
入力エイリアス: mavenPathstringmavenVersionSelection = Pathする場合に必要です。

Maven インストールへのカスタム パスを指定します (例: /usr/share/maven)。


mavenSetM2Home - 変数 M2_HOME設定する
boolean。 任意。 mavenVersionSelection = Pathするときに使用します。 既定値: false

M2_HOME 変数をカスタム Maven インストール パスに設定します。


mavenOptions - MAVEN_OPTS を に設定する
入力エイリアス: mavenOptsstring。 既定値: -Xmx1024m

MAVEN_OPTS 環境変数を設定します。これは、JVM を開始するためのコマンド ライン引数を送信するために使用されます。 -Xmx フラグは、JVM で使用可能な最大メモリを指定します。


mavenAuthenticateFeed - Artifacts フィードを使用した認証
入力エイリアス: mavenFeedAuthenticateboolean。 既定値: false

Azure Artifacts フィードを使用して自動的に認証します。 Artifacts フィードが使用されていない場合は、ビルドを高速化するためにこのオプションの選択を解除します。


effectivePomSkip - アーティファクト フィードを使用した認証中に有効な POM の生成をスキップする
入力エイリアス: skipEffectivePomboolean。 既定値: false

POM のみを使用して Artifacts フィードを使用して認証します。


sonarQube または SonarCloud 分析を実行する sonarQubeRunAnalysis -
入力エイリアス: sqAnalysisEnabledboolean。 既定値: false

このオプションは、Maven タスクのバージョン 1 から、SonarQube と SonarCloud Marketplace 拡張機能 使用するように変更されました。
[目標] フィールドで目標を実行した後、SonarQube または SonarCloud 分析 実行するには、このオプションを有効にします。 インストール またはパッケージ の目標は、最初に実行する必要があります。 この Maven タスクの前に、いずれかの拡張機能からビルド パイプラインに Analysis Configuration 準備タスクを追加する必要もあります。


isJacocoCoverageReportXML - SonarQube 分析 に XML Jacoco レポートを使用する
boolean。 任意。 sqAnalysisEnabled = true && codeCoverageTool = JaCoCoするときに使用します。 既定値: false

SonarQube 分析に XML Jacoco レポートを使用します。 テスト レポート 詳細を確認します。


Maven バージョン用の SonarQube スキャナーを sqMavenPluginVersionChoice - する
stringsqAnalysisEnabled = trueする場合に必要です。 使用できる値: latest (最新リリースを使用)、pom (pom.xmlで宣言されているバージョンを使用します)。 既定値: latest

使用する SonarQube Maven プラグインのバージョンを指定します。 最新バージョンを使用することも、pom.xmlのバージョンに依存することもできます。


checkstyleを実行する checkStyleRunAnalysis -
入力エイリアス: checkstyleAnalysisEnabledboolean。 既定値: false

既定の Sun チェックを使用して Checkstyle ツールを実行します。 pom.xml ファイルで Checkstyle 構成が指定されていない場合は、既定の Sun チェックが使用されます。 結果はビルド成果物としてアップロードされます。


pmdRunAnalysis - PMD を実行する
入力エイリアス: pmdAnalysisEnabledboolean。 既定値: false

PMD 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。


FindBugsを実行する findBugsRunAnalysis -
入力エイリアス: findbugsAnalysisEnabledboolean。 既定値: false

FindBugs 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。


spotBugsRunAnalysis - SpotBugs 分析 の実行
入力エイリアス: spotBugsAnalysisEnabledboolean。 既定値: false

SpotBugs コード分析プラグインを実行するには、このオプションを有効にします。 SpotBugs Maven プラグインのに関する詳細情報。


spotBugsVersion - バージョン番号の
入力エイリアス: spotBugsMavenPluginVersionstring。 任意。 spotBugsAnalysisEnabled = trueするときに使用します。 既定値: 4.5.3.0

使用可能なバージョンの SpotBugs について説明します。


spotBugsGoal - spotbugs プラグインの目標
string。 任意。 spotBugsAnalysisEnabled = trueするときに使用します。 使用できる値: spotbugs ("spotbugs" - 検出されたバグに関するレポートを作成します)、check ("check" - バグが検出された場合はパイプラインが失敗します)。 既定値: spotbugs

プラグインの目標を指定します。 SpotBugs の目標の詳細を確認します。


failWhenBugsFound - スポットバグでバグが見つかった場合に失敗する: を確認する
入力エイリアス: spotBugsFailWhenBugsFound | sbFailWhenBugsFoundboolean。 任意。 spotBugsAnalysisEnabled = true && spotBugsGoal = checkするときに使用します。 既定値: true

[目標の確認] が指定されている場合 バグが見つかった場合は失敗します。 SpotBug パラメーター 詳細については、を参照してください。


タスク コントロールのオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。

出力変数

なし。

注釈

SonarQube 分析の構成は、SonarQube またはタスクの SonarCloud 拡張機能 に移動 分析構成を準備します。

Von Bedeutung

-qMAVEN_OPTS オプションを使用すると、有効な pom が正しく生成されず、Azure Artifacts フィードが認証されない可能性があります。

Von Bedeutung

使用する JDK バージョンがエージェントに既にインストールされている場合は、javaHomeOptionpath に設定し、jdkDirectory を JDK バージョンのパスに設定します。 これらのオプションは、Maven タスクで必要な JAVA_HOME_11_X64 環境変数を設定します。 Java Tool インストーラー タスクを使用している場合、この環境変数は自動的に設定されます。

統合テストで AzurePipelinesCredential を使用する

.NET、C++、Go、Java、JavaScript、Python 用の Azure ID ライブラリ では、ワークロード ID フェデレーションのサポートが提供されるため、AzureCLI@2 タスクと AzurePowerShell@5 タスクから実行されるコードは、AzurePipelinesCredential クラスを使用して Microsoft Entra ID で認証できます (たとえば、Azure にアクセスするため)。

多くのお客様は、他のタスクから呼び出された統合テストで Azure SDK クライアント ライブラリを使用しています。 DotNetCoreCLI@2Maven@4、および VSTest@3 タスクは、AzurePipelinesCredential クラスを使用して Azure リソースにアクセスできます。

connectedServiceName プロパティは、ワークロード ID フェデレーションで構成された Azure サービス接続に設定できます。 AzurePipelinesCredential では、SYSTEM_ACCESSTOKEN を設定する必要があります。

次の例は、connectedServiceName タスクの DotNetCoreCLI@2 入力を示しています。 VSTest@3Maven@4 の使用方法も同様です。

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

AzurePipelinesCredentialの詳細については、「AzurePipelinesCredentialを使用した Azure サービス接続のセキュリティ体制の向上」を参照してください。

よくあるご質問

マルチモジュール プロジェクトがありますが、ビルドが失敗しています。 何を確認する必要がありますか?

タスク入力として #codeCoverageClassFilesDirectories#codeCoverageSourceDirectories を指定していることを確認します。 これら 2 つのパラメーターは、1 つのモジュール プロジェクトでは省略可能ですが、マルチモジュール プロジェクトでは必須です。

例示

要求事項

要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 セルフホステッド エージェントには、このタスクを使用するジョブを実行するために 次の 要求に一致する 機能が必要です。
機能 このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 [任意]
設定可能な変数 [任意]
エージェントのバージョン 1.89.0 以上
タスク カテゴリ 建築する

こちらも参照ください