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-*.xml
で TEST-
始まる名前を持つすべての XML ファイルについてです。 ルート パスが指定されていない場合、ファイルは既定の作業ディレクトリの下に一致します。この値は 変数 $(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
します。
jdkDirectory
- JDK パス
入力エイリアス: jdkUserInputPath
。 string
. の場合は javaHomeSelection = Path
必須です。
指定したパスに設定 JAVA_HOME
します。
jdkArchitectureOption
- JDK アーキテクチャ
入力エイリアス: jdkArchitecture
。 string
. 省略可能。 の場合は jdkVersion != default
を使用します。 使用できる値: x86
、x64
。 既定値: x64
。
JDK のアーキテクチャ (x86
、 x64
) を提供します。
mavenVersionOption
- Maven バージョン
入力エイリアス: mavenVersionSelection
。 string
. 必須です。 使用できる値: Default
、 Path
(カスタム パス)。 既定値: Default
。
既定の Maven バージョンまたは指定したカスタム パスのバージョンを使用します。
mavenDirectory
- Maven パス
入力エイリアス: 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 フィードが使用されていない場合は、ビルドを高速化するためにこのオプションの選択を解除します。
sonarQubeRunAnalysis
- SonarQube 分析を実行する
入力エイリアス: sqAnalysisEnabled
。 boolean
. 既定値: false
。
現在の目標を実行した後、 SonarQube 分析 を実行します。 install
または package
目標を最初に実行する必要があります。
sonarQubeServiceEndpoint
- SonarQube エンドポイント
入力エイリアス: sqConnectedServiceName
。 string
. の場合 sqAnalysisEnabled = true
は必須です。
SonarQube サーバーの汎用エンドポイントを指定します。
sonarQubeProjectName
- SonarQube プロジェクト名
入力エイリアス: sqProjectName
。 string
. 省略可能。 の場合は sqAnalysisEnabled = true
を使用します。
SonarQube プロジェクト名を指定します (例: sonar.projectName
)。
sonarQubeProjectKey
- SonarQube プロジェクト キー
入力エイリアス: 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 品質ゲートの詳細については、以下を参照してください。
checkStyleRunAnalysis
- Checkstyle を実行する
入力エイリアス: checkstyleAnalysisEnabled
。 boolean
. 既定値: false
。
既定の Sun チェックを使用して Checkstyle ツールを実行します。 結果はビルド成果物としてアップロードされます。
pmdRunAnalysis
- PMD を実行する
入力エイリアス: pmdAnalysisEnabled
。 boolean
. 既定値: false
。
PMD 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。
findBugsRunAnalysis
- FindBugs を実行する
入力エイリアス: findbugsAnalysisEnabled
。 boolean
. 既定値: false
。
FindBugs 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
必要条件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
上で実行 | エージェント、DeploymentGroup |
確認要求 | セルフホステッド エージェントには、このタスクを使用するジョブを実行するための次の要求に一致する機能が必要です。 |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 1.89.0 以降 |
タスクのカテゴリ | Build |