このタスクを使用して Apache Maven を使用してビルドします。
このバージョンのタスクは非推奨です。Maven@4を使用します。
構文
# 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.
入力
Maven POM ファイルを mavenPOMFile
- する
string
。 必須。 既定値: pom.xml
.
リポジトリ ルートから Maven POM ファイルへの相対パスを指定します。
goals
-
目標
string
。 既定値: package
.
options
-
オプションの
string
。
TFS/Team Servicesへの発行の publishJUnitResults
-
boolean
。 既定値: true
.
Maven ビルドによって生成された JUnit テスト結果を TFS/Team Services に発行するオプションを指定します。
Test Results Files
に一致する各テスト結果ファイルは、TFS/Team Services でテスト実行として発行されます。
テスト結果ファイルを testResultsFiles
- する
string
。
publishJUnitResults = true
する場合に必要です。 既定値: **/TEST-*.xml
.
発行するテスト結果ファイルのパスとパターンを指定します。 たとえば、**/TEST-*.xml
で始まる名前を持つすべての XML ファイルを TEST-
します。 ルート パスが指定されていない場合、ファイルは既定の作業ディレクトリの下で照合され、その値は変数 $(System.DefaultWorkingDirectory)
で使用できます。 たとえば、**/TEST-*.xml
の値を指定すると、実際には $(System.DefaultWorkingDirectory)/**/TEST-*.xml
からのファイルが一致します。
テスト実行タイトルの testRunTitle
-
string
。 任意
publishJUnitResults = true
するときに使用します。
テスト実行の名前を指定します。
codeCoverageToolOption
-
コード カバレッジ ツールの
入力エイリアス: codeCoverageTool
。
string
。 使用できる値: None
、Cobertura
、JaCoCo
。 既定値: None
.
コード カバレッジ ツールを指定します。
クラス包含/除外フィルターを 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
.
コード カバレッジで発行する結果が生成されなかった場合、ビルドが失敗します。
javaHomeOption
-
でJAVA_HOMEを設定する
入力エイリアス: javaHomeSelection
。
string
。 必須。 使用できる値: JDKVersion
(JDK バージョン)、Path
。 既定値: JDKVersion
.
ビルド中に検出される JDK バージョンを選択するか、JDK パスを手動で入力して、JAVA_HOME
を設定します。
jdkVersionOption
-
JDK バージョン
入力エイリアス: jdkVersion
。
string
。 任意
javaHomeSelection = JDKVersion
するときに使用します。 使用できる値: default
、1.9
(JDK 9)、1.8
(JDK 8)、1.7
(JDK 7)、1.6
(JDK 6)。 既定値: default
.
選択した JDK バージョンへのパスの検出を試み、それに応じて JAVA_HOME
設定します。
JDK パスを jdkDirectory
- する
入力エイリアス: jdkUserInputPath
。
string
。
javaHomeSelection = Path
する場合に必要です。
指定したパスに JAVA_HOME
を設定します。
jdkArchitectureOption
-
JDK アーキテクチャの
入力エイリアス: jdkArchitecture
。
string
。 任意
jdkVersion != default
するときに使用します。 使用できる値: x86
、x64
。 既定値: x64
.
JDK のアーキテクチャ (x86
、x64
) を提供します。
Maven バージョンの mavenVersionOption
-
入力エイリアス: mavenVersionSelection
。
string
。 必須。 使用できる値: Default
、Path
(カスタム パス)。 既定値: Default
.
既定の Maven バージョンまたは指定したカスタム パス内のバージョンを使用します。
Maven パスの mavenDirectory
-
入力エイリアス: 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
-
組み込みの Maven フィード を認証する
入力エイリアス: mavenFeedAuthenticate
。
boolean
。 既定値: true
.
Azure Artifacts フィードを使用して自動的に認証します。 Artifacts フィードが使用されていない場合は、ビルドを高速化するためにこのオプションの選択を解除します。
sonarQube 分析を実行する sonarQubeRunAnalysis
-
入力エイリアス: sqAnalysisEnabled
。
boolean
。 既定値: false
.
現在の目標を実行した後、SonarQube 分析 を実行します。
install
または package
の目標を最初に実行する必要があります。
sonarQubeServiceEndpoint
-
SonarQube エンドポイント
入力エイリアス: sqConnectedServiceName
。
string
。
sqAnalysisEnabled = true
する場合に必要です。
SonarQube サーバーの汎用エンドポイントを指定します。
sonarQubeProjectName
-
SonarQube プロジェクト名の
入力エイリアス: sqProjectName
。
string
。 任意
sqAnalysisEnabled = true
するときに使用します。
SonarQube プロジェクト名を指定します (例: sonar.projectName
)。
sonarQube プロジェクト キーを sonarQubeProjectKey
- する
入力エイリアス: sqProjectKey
。
string
。 任意
sqAnalysisEnabled = true
するときに使用します。
SonarQube プロジェクトの一意キー (sonar.projectKey
など) を指定します。
sonarQubeProjectVersion
-
SonarQube プロジェクト バージョン
入力エイリアス: sqProjectVersion
。
string
。 任意
sqAnalysisEnabled = true
するときに使用します。
SonarQube プロジェクトのバージョン (sonar.projectVersion
など) を指定します。
sonarQubeSpecifyDB
-
SonarQube サーバーのバージョンが 5.2 より低い
入力エイリアス: sqDbDetailsRequired
。
boolean
。 任意
sqAnalysisEnabled = true
するときに使用します。 既定値: false
.
SonarQube サーバー 5.1 以下を使用している場合は、データベース接続の詳細を指定する必要があります。
sonarQubeDBUrl
-
Db 接続文字列
入力エイリアス: sqDbUrl
。
string
。 任意
sqDbDetailsRequired = true
するときに使用します。
SonarQube サーバー 5.1 以下にのみ使用します。
データベース接続の設定 (sonar.jdbc.url
や jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
など) を指定します。
sonarQubeDBUsername
-
Db ユーザー名の
入力エイリアス: sqDbUsername
。
string
。 任意
sqDbDetailsRequired = true
するときに使用します。
SonarQube サーバー 5.1 以下にのみ使用します。
データベース ユーザーのユーザー名を指定します (たとえば、sonar.jdbc.username
)。
sonarQubeDBPassword
-
Db ユーザー パスワード
入力エイリアス: sqDbPassword
。
string
。 任意
sqDbDetailsRequired = true
するときに使用します。
SonarQube サーバー 5.1 以下にのみ使用します。
データベース ユーザーのパスワードを指定します (例: sonar.jdbc.password
)。
sonarQubeIncludeFullReport
-
ビルドの概要 (SQ 5.3 以降) に完全な分析レポートを含める
入力エイリアス: sqAnalysisIncludeFullReport
。
boolean
。 任意
sqAnalysisEnabled = true
するときに使用します。 既定値: true
.
このオプションは、SonarQube 分析が完了するまでビルドを遅らせます。
sonarQubeFailWhenQualityGateFails
-
品質ゲート障害 (SQ 5.3 以降) でのビルドの失敗
入力エイリアス: sqAnalysisBreakBuildIfQualityGateFailed
。
boolean
。 任意
sqAnalysisEnabled = true
するときに使用します。
このオプションは、SonarQube サーバー 5.3 以降を使用している場合にのみ使用できます。 SonarQube が分析を完了するまでビルドが待機する必要があるため、遅延が発生します。 sonarQube 品質ゲート について詳しくは、以下をご覧ください。
checkstyleを実行する checkStyleRunAnalysis
-
入力エイリアス: checkstyleAnalysisEnabled
。
boolean
。 既定値: false
.
既定の Sun チェックを使用して Checkstyle ツールを実行します。 結果はビルド成果物としてアップロードされます。
pmdRunAnalysis
-
PMD を実行する
入力エイリアス: pmdAnalysisEnabled
。
boolean
。 既定値: false
.
PMD 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。
FindBugsを実行する findBugsRunAnalysis
-
入力エイリアス: findbugsAnalysisEnabled
。
boolean
。 既定値: false
.
FindBugs 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
必要条件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
実行日 | エージェント、DeploymentGroup |
の需要 | セルフホステッド エージェントには、このタスクを使用するジョブを実行するために 次の 要求に一致する 機能が必要です。 |
機能の | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | どれでも |
設定可能な変数 | どれでも |
エージェントのバージョン | 1.89.0 以上 |
タスク カテゴリ | 建築する |