次の方法で共有


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 ビルドを実行する作業ディレクトリを指定します。 作業ディレクトリが指定されていない場合、タスクはリポジトリのルート ディレクトリを使用します。


TFS/Team Servicesへの発行の publishJUnitResults -
boolean。 既定値: true.

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


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

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


テスト実行タイトルtestRunTitle -
string。 任意 publishJUnitResults = trueするときに使用します。

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


codeCoverageToolOption - コード カバレッジ ツールの
入力エイリアス: codeCoverageToolstring。 使用できる値: NoneCoberturaJaCoCo。 既定値: None.

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


codeCoverageClassFilesDirectories - クラス ファイル ディレクトリ
入力エイリアス: classFilesDirectoriesstringcodeCoverageTool = 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設定します。


JDK パスjdkDirectory - する
入力エイリアス: jdkUserInputPathstringjavaHomeSelection = Pathする場合に必要です。

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


jdkArchitectureOption - JDK アーキテクチャの
入力エイリアス: jdkArchitecturestring。 任意 jdkVersion != defaultするときに使用します。 使用できる値: x86x64。 既定値: x64.

JDK アーキテクチャ (x86 または x64) を提供します。


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

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


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

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


sonarQubeServiceEndpoint - SonarQube エンドポイント
入力エイリアス: sqConnectedServiceNamestringsqAnalysisEnabled = trueする場合に必要です。

使用する SonarQube サーバーを指定するエンドポイント。


sonarQubeProjectName - SonarQube プロジェクト名の
入力エイリアス: sqProjectNamestringsqAnalysisEnabled = trueする場合に必要です。

SonarQube プロジェクト名。sonar.projectName


sonarQube プロジェクト キーsonarQubeProjectKey - する
入力エイリアス: sqProjectKeystringsqAnalysisEnabled = trueする場合に必要です。

SonarQube プロジェクトの一意のキー。つまり、sonar.projectKey


sonarQubeProjectVersion - SonarQube プロジェクト バージョン
入力エイリアス: sqProjectVersionstringsqAnalysisEnabled = trueする場合に必要です。

SonarQube プロジェクトのバージョン。sonar.projectVersion


sonarQubeGradlePluginVersion - SonarQube Gradle プラグイン バージョン
入力エイリアス: sqGradlePluginVersionstringsqAnalysisEnabled = 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 を使用するの詳細について説明します。


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

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


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

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


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

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


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

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

出力変数

なし。

注釈

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

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

SonarQube 分析の構成は、タスク SonarQube または sonarCloud Prepare Analysis Configuration に移動されました。

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

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

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

  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=60000Options を追加することでタイムアウトを変更できます。 これにより、タイムアウトが 10 秒から 1 分に増加します。

必要条件

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