次の方法で共有


Maven@1 - Maven v1 タスク

このタスクを使用して、Apache Maven を使用してビルドします。

構文

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  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 TFS/Team Services. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/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.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: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #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 ファイルへの相対パスを指定します。


goals - 目標
string. 既定値: package


options - オプション
string.


publishJUnitResults - TFS/Team Services に発行する
boolean. 既定値: true

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


testResultsFiles - テスト結果ファイル
string. の場合は publishJUnitResults = true必須です。 既定値: **/TEST-*.xml

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


testRunTitle - テスト実行タイトル
string. 省略可能。 の場合は publishJUnitResults = trueを使用します。

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


codeCoverageToolOption - コード カバレッジ ツール
入力エイリアス: codeCoverageToolstring. 許可値: NoneCoberturaJaCoCo。 既定値: None

コード カバレッジ ツールを指定します。


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

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


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

ビルド中に検出される JDK バージョンを選択するか、JDK パスを手動で入力して設定 JAVA_HOME します。


jdkVersionOption - JDK バージョン
入力エイリアス: jdkVersionstring. 省略可能。 の場合は javaHomeSelection = JDKVersionを使用します。 使用できる値: default1.9 (JDK 9)、 1.8 (JDK 8) 1.7 、(JDK 7)、 1.6 (JDK 6)。 既定値: default

選択した JDK バージョンへのパスの検出を試み、それに応じて 設定 JAVA_HOME します。


jdkDirectory - JDK パス
入力エイリアス: jdkUserInputPathstring. の場合は javaHomeSelection = Path必須です。

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


jdkArchitectureOption - JDK アーキテクチャ
入力エイリアス: jdkArchitecturestring. 省略可能。 の場合は jdkVersion != defaultを使用します。 使用できる値: x86x64。 既定値: x64

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


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

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


mavenDirectory - Maven パス
入力エイリアス: mavenPathstring. の場合は mavenVersionSelection = 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 - 組み込みの Maven フィードを認証する
入力エイリアス: mavenFeedAuthenticateboolean. 既定値: true

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


sonarQubeRunAnalysis - SonarQube 分析を実行する
入力エイリアス: sqAnalysisEnabledboolean. 既定値: false

現在の目標を実行した後、 SonarQube 分析 を実行します。 install または package 目標を最初に実行する必要があります。


sonarQubeServiceEndpoint - SonarQube エンドポイント
入力エイリアス: sqConnectedServiceNamestring. の場合 sqAnalysisEnabled = trueは必須です。

SonarQube サーバーの汎用エンドポイントを指定します。


sonarQubeProjectName - SonarQube プロジェクト名
入力エイリアス: sqProjectNamestring. 省略可能。 の場合は sqAnalysisEnabled = trueを使用します。

SonarQube プロジェクト名を指定します (例: sonar.projectName)。


sonarQubeProjectKey - SonarQube プロジェクト キー
入力エイリアス: sqProjectKeystring. 省略可能。 の場合は sqAnalysisEnabled = trueを使用します。

SonarQube プロジェクトの一意のキー (例: sonar.projectKey) を指定します。


sonarQubeProjectVersion - SonarQube プロジェクト のバージョン
入力エイリアス: sqProjectVersionstring. 省略可能。 の場合は sqAnalysisEnabled = trueを使用します。

SonarQube プロジェクトのバージョンを指定します (例: sonar.projectVersion)。


sonarQubeSpecifyDB - SonarQube サーバーのバージョンが 5.2 より低い
入力エイリアス: sqDbDetailsRequiredboolean. 省略可能。 の場合は sqAnalysisEnabled = trueを使用します。 既定値: false

SonarQube サーバー 5.1 以降を使用する場合は、データベース接続の詳細を指定する必要があります。


sonarQubeDBUrl - Db 接続文字列
入力エイリアス: sqDbUrlstring. 省略可能。 の場合は sqDbDetailsRequired = trueを使用します。

SonarQube サーバー 5.1 以降にのみ使用します。
データベース接続設定を指定します (例: sonar.jdbc.url または jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor)。


sonarQubeDBUsername - Db ユーザー名
入力エイリアス: sqDbUsernamestring. 省略可能。 の場合は sqDbDetailsRequired = trueを使用します。

SonarQube サーバー 5.1 以降にのみ使用します。
データベース ユーザーのユーザー名を指定します (例: sonar.jdbc.username)。


sonarQubeDBPassword - Db ユーザー パスワード
入力エイリアス: sqDbPasswordstring. 省略可能。 の場合は sqDbDetailsRequired = trueを使用します。

SonarQube サーバー 5.1 以降にのみ使用します。
データベース ユーザーのパスワードを指定します (例: sonar.jdbc.password)。


sonarQubeIncludeFullReport - ビルドの概要に完全な分析レポートを含める (SQ 5.3 以降)
入力エイリアス: sqAnalysisIncludeFullReportboolean. 省略可能。 の場合は sqAnalysisEnabled = trueを使用します。 既定値: true

このオプションは、SonarQube 分析が完了するまでビルドを遅延させます。


sonarQubeFailWhenQualityGateFails - 品質ゲート障害でビルドを失敗する (SQ 5.3 以降)
入力エイリアス: sqAnalysisBreakBuildIfQualityGateFailedboolean. 省略可能。 の場合は sqAnalysisEnabled = trueを使用します。

このオプションは、SonarQube サーバー 5.3 以降を使用している場合にのみ使用できます。 SonarQube が分析を完了するまでビルドが待機する必要があるため、遅延が発生します。 SonarQube 品質ゲートの詳細については、以下を参照してください。


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

既定の Sun チェックを使用して Checkstyle ツールを実行します。 結果はビルド成果物としてアップロードされます。


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

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


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

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


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

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

出力変数

[なし] :

必要条件

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

こちらもご覧ください