Gradle@1 - Gradle v1 タスク

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 ラッパー
入力エイリアス: wrapperScriptstring. 必須です。 既定値: gradlew

ビルドに使用する gradlew リポジトリ内のラッパーの場所を指定します。 Windows 上のエージェント (Microsoft でホストされるエージェントを含む) では、ラッパーを使用する gradlew.bat 必要があります。 Linux または macOS 上のエージェントは、gradlew シェル スクリプトを使用できます。 Gradle ラッパーの詳細については、こちらを参照してください。


options - オプション
string.

Gradle ラッパーに渡されるコマンド ライン オプションを指定します。 詳細については、「 Gradle コマンド ライン 」を参照してください。


tasks - タスク
string. 必須です。 既定値: build

Gradle が実行するタスク。 タスク名のリストはスペースで区切る必要があります。また、コマンド プロンプトから発行される gradlew tasks から取得できます。

詳細については、「 Gradle ビルド スクリプトの基本」 を参照してください。


workingDirectory - 作業ディレクトリ
入力エイリアス: cwdstring.

Gradle ビルドを実行する作業ディレクトリを指定します。 作業ディレクトリが指定されていない場合、タスクはリポジトリルートディレクトリを使用します。


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

Gradle ビルドによって生成された JUnit テスト結果を Azure Pipelines に発行します。 このタスクでは、Azure Pipelines でのテスト実行として、各テスト結果ファイルの一致 Test Results Files が発行されます。


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

テスト結果のファイル パス。 ワイルドカードを 使用できます。 たとえば、名前が TEST- で始まるすべての xml ファイルの場合は **/TEST-*.xml を使用します。


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

このビルドの JUnit テスト ケースの結果の名前を指定します。


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

ビルドのテスト ケースでカバーされるコードを決定するコード カバレッジ ツールを指定します。


codeCoverageClassFilesDirectories - クラス ファイル ディレクトリ
入力エイリアス: classFilesDirectoriesstring. codeCoverageTool = false の場合に必要です。 既定値: build/classes/main/

クラス ファイルとアーカイブ ファイル (.jar、.war など) を含むディレクトリのコンマ区切りの一覧。 これらのディレクトリのクラス ファイルのコード カバレッジが報告されます。 通常、タスクは Gradle ビルドの既定のクラス build/classes/java/main ディレクトリである ( Gradle 4 以降の場合) のクラスを検索します。


codeCoverageClassFilter - クラス包含/除外フィルター
入力エイリアス: classFilterstring. 省略可能。 の場合は codeCoverageTool != Noneを使用します。

コード カバレッジの収集からクラスを含めるか除外するフィルターのコンマ区切りのリスト。 例: +:com.*,+:org.*,-:my.app*.*.


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 アーキテクチャ (x86 または x64) を提供します。


gradleOptions - GRADLE_OPTSの設定
入力エイリアス: gradleOptsstring. 既定値: -Xmx1024m

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


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)。


sonarQubeGradlePluginVersion - SonarQube Gradle プラグイン バージョン
入力エイリアス: sqGradlePluginVersionstring. sqAnalysisEnabled = true の場合に必要です。 既定値: 2.0.1

SpotBugs Gradle プラグインのバージョン番号を格納します。


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 ツールを実行します。 結果はビルド成果物としてアップロードされます。


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

FindBugs 静的分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます。 Gradle 6.0 では、 このプラグインは削除されました。 代わりに SpotBugs プラグインを使用してください。


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

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


タスク制御オプション

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

出力変数

[なし] :

解説

注意

このタスクの新しいバージョンは 、Gradle@3で使用できます。

注意

このタスクの新しいバージョンは 、Gradle@2で使用できます。

SonarQube 分析の構成は、タスク Prepare Analysis ConfigurationSonarQube または SonarCloud 拡張機能に移動されました。

Gradle ラッパー スクリプトを使用するビルドには、このタスクを使用します。

Gradle プロジェクトからラッパーを生成するにはどうすればよいですか。

Gradle ラッパーを使用すると、ビルド エージェントは正確な Gradle 環境をダウンロードして設定できます。この環境は、JVM 以外のビルド エージェント自体にソフトウェア構成を行うことなく、リポジトリにチェックインされます。

  1. build.gradle が存在するルート プロジェクト ディレクトリから次のコマンドを発行することで、Gradle ラッパーを作成します。

    jamal@fabrikam> gradle wrapper

  2. リモート リポジトリに 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 分に増加します。

要件

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