Gradle ラッパー スクリプトを使用してビルドします。
構文
# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# Advanced
#workingDirectory: # string. Alias: cwd. Working Directory.
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.
#gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/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.
#codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool = false. Class Files Directories. Default: build/classes/main/.
#codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters.
#codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
# 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. Required when sqAnalysisEnabled = true. SonarQube Project Name.
#sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key.
#sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version.
#sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
#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.
#findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
#pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
入力
gradleWrapperFile
-
Gradle ラッパー
入力エイリアス: wrapperScript
。
string
。 必須。 既定値: gradlew
.
ビルドに使用するリポジトリ内の gradlew
ラッパーの場所を指定します。 Windows 上のエージェント (Microsoft がホストするエージェントを含む) は、gradlew.bat
ラッパーを使用する必要があります。 Linux または macOS 上のエージェントは、gradlew
シェル スクリプトを使用できます。
Gradle ラッパーの詳細を確認してください。
tasks
-
タスク
string
。 必須。 既定値: build
.
Gradle が実行するタスク。 タスク名のリストはスペースで区切る必要があり、コマンド プロンプトから発行 gradlew tasks
から取得できます。
詳細については、「Gradle ビルド スクリプトの基本 を参照してください。
workingDirectory
-
作業ディレクトリの
入力エイリアス: cwd
。
string
。
Gradle ビルドを実行する作業ディレクトリを指定します。 作業ディレクトリが指定されていない場合、タスクはリポジトリのルート ディレクトリを使用します。
TFS/Team Servicesへの発行の publishJUnitResults
-
boolean
。 既定値: true
.
Gradle ビルドによって生成された JUnit テスト結果を Azure Pipelines に発行します。 タスクは、Azure Pipelines でのテスト実行として、Test Results Files
に一致する各テスト結果ファイルを発行します。
テスト結果ファイルを testResultsFiles
- する
string
。
publishJUnitResults = true
する場合に必要です。 既定値: **/build/test-results/TEST-*.xml
.
テスト結果のファイル パス。
ワイルドカード を使用できます。 たとえば、名前が **/TEST-*.xml
で始まるすべての XML ファイルを TEST-
します。
テスト実行タイトルの testRunTitle
-
string
。 任意
publishJUnitResults = true
するときに使用します。
このビルドの JUnit テスト ケースの結果の名前を指定します。
codeCoverageToolOption
-
コード カバレッジ ツールの
入力エイリアス: codeCoverageTool
。
string
。 使用できる値: None
、Cobertura
、JaCoCo
。 既定値: None
.
ビルドのテスト ケースでカバーされるコードを決定するコード カバレッジ ツールを指定します。
codeCoverageClassFilesDirectories
-
クラス ファイル ディレクトリ
入力エイリアス: classFilesDirectories
。
string
。
codeCoverageTool = false
する場合に必要です。 既定値: build/classes/main/
.
クラス ファイルとアーカイブ ファイル (.jar、.war など) を含むディレクトリのコンマ区切りの一覧。 これらのディレクトリ内のクラス ファイルのコード カバレッジが報告されます。 通常、タスクは Gradle ビルドの既定のクラス ディレクトリである build/classes/java/main
(Gradle 4 以降の場合) のクラスを検索します。
クラス包含/除外フィルターを codeCoverageClassFilter
- する
入力エイリアス: classFilter
。
string
。 任意
codeCoverageTool != None
するときに使用します。
コード カバレッジの収集に含める、またはクラスを除外するフィルターのコンマ区切りの一覧。 たとえば、+:com.*
、+:org.*
、-:my.app*.*
。
コード カバレッジの結果が見つからない場合に失敗する 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) を提供します。
gradleOptions
-
set GRADLE_OPTS
入力エイリアス: gradleOpts
。
string
。 既定値: -Xmx1024m
.
GRADLE_OPTS環境変数を設定します。これは、JVM を開始するためのコマンド ライン引数を送信するために使用されます。
xmx
フラグは、JVM で使用可能な最大メモリを指定します。
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
。
sonarQubeGradlePluginVersion
-
SonarQube Gradle プラグイン バージョン
入力エイリアス: sqGradlePluginVersion
。
string
。
sqAnalysisEnabled = true
する場合に必要です。 既定値: 2.0.1
.
SpotBugs Gradle プラグインのバージョン番号が含まれています。
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 ツールを実行します。 結果はビルド成果物としてアップロードされます。
FindBugsを実行する findBugsRunAnalysis
-
入力エイリアス: findbugsAnalysisEnabled
。
boolean
。 既定値: false
.
FindBugs 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。 Gradle 6.0 では、このプラグイン 削除されました。 代わりに SpotBugs プラグインを使用してください。
pmdRunAnalysis
-
PMD を実行する
入力エイリアス: pmdAnalysisEnabled
。
boolean
。 既定値: false
.
PMD Java 静的分析ツールを使用して、コード内のバグを探します。 結果はビルド成果物としてアップロードされます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
注
このタスクの新しいバージョンは、Gradle@3で使用できます。
注
このタスクの新しいバージョンは、Gradle@2で使用できます。
SonarQube 分析の構成は、タスク の SonarQube または sonarCloud Prepare Analysis Configuration
に移動されました。
Gradle ラッパー スクリプトを使用してビルドするには、このタスクを使用します。
Gradle プロジェクトからラッパーを生成するにはどうすればよいですか?
Gradle ラッパーを使用すると、ビルド エージェントは、JVM 以外のビルド エージェント自体にソフトウェア構成を行うことなく、リポジトリにチェックインされた正確な Gradle 環境をダウンロードして構成できます。
build.gradle が存在するルート プロジェクト ディレクトリから次のコマンドを発行して、Gradle ラッパーを作成します。
jamal@fabrikam> gradle wrapper
Gradle ラッパーをリモート リポジトリにアップロードします。
gradle ラッパーによって生成されるバイナリ 成果物があります (
gradle/wrapper/gradle-wrapper.jar
にあります)。 このバイナリ ファイルは小さく、更新する必要はありません。 ビルド エージェントで Gradle 構成の実行を変更する必要がある場合は、gradle-wrapper.properties
を更新します。リポジトリは次のようになります。
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
依存関係をダウンロードするときのタイムアウトを修正するにはどうすればよいですか?
依存関係をダウンロードするときに Read timed out
などのエラーを修正するために、Gradle 4.3 以降のユーザーは、-Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
に Options
を追加することでタイムアウトを変更できます。 これにより、タイムアウトが 10 秒から 1 分に増加します。