Gradle タスク

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

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

YAML スニペット

# Gradle
# Build using a Gradle wrapper script
- task: Gradle@2
  inputs:
    #gradleWrapperFile: 'gradlew' 
    #cwd: # Optional
    #options: # Optional
    #tasks: 'build' # A list of tasks separated by spaces, such as 'build test'
    #publishJUnitResults: true 
    #testResultsFiles: '**/TEST-*.xml' # Required when publishJUnitResults == True
    #testRunTitle: # Optional
    #codeCoverageToolOption: 'None' # Optional. Options: none, cobertura, jaCoCo
    #codeCoverageClassFilesDirectories: 'build/classes/main/' # Required when codeCoverageToolOption == False
    #codeCoverageClassFilter: # Optional. Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*
    #codeCoverageFailIfEmpty: false # Optional
    #javaHomeOption: 'JDKVersion' # Options: jDKVersion, path
    #jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
    #jdkDirectory: # Required when javaHomeOption == Path
    #jdkArchitectureOption: 'x64' # Optional. Options: x86, x64
    #gradleOptions: '-Xmx1024m' # Optional
    #sonarQubeRunAnalysis: false 
    #sqGradlePluginVersionChoice: 'specify' # Required when sonarQubeRunAnalysis == True# Options: specify, build
    #sonarQubeGradlePluginVersion: '2.6.1' # Required when sonarQubeRunAnalysis == True && SqGradlePluginVersionChoice == Specify
    #checkStyleRunAnalysis: false # Optional
    #findBugsRunAnalysis: false # Optional
    #pmdRunAnalysis: false # Optional

引数


既定値: true
引数 説明
wrapperScript
Gradle ラッパー

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

Gradle ラッパーを参照してください。


既定値: gradlew
引数の別名: gradleWrapperFile
options
Options

OptionalGradle ラッパーに渡す任意のコマンドラインオプションを指定します。

Gradle コマンドライン」を参照してください。

tasks
タスク

必要実行する Gradle のタスク。 タスク名の一覧はスペースで区切る必要があり、 gradlew tasks コマンドプロンプトから発行することができます。

Gradle Build Script の基本」を参照してください。


既定値: ビルド
JUnit テスト結果
publishJUnitResults
Azure Pipelines に発行
必要Gradle ビルドによって生成された JUnit テスト結果を Azure Pipelines/TFS に発行するには、このオプションを選択します。
testResultsFiles
テスト結果ファイル
必要テスト結果ファイルのパス。 ワイルドカードを使用できます。 たとえば、 */TEST-.xml 名前が TEST-で始まるすべての xml ファイルが対象となります。"
既定値: **/TEST-*
testRunTitle
テストの実行のタイトル
Optionalこのビルドの JUnit テストケースの結果にタイトルを割り当てます。
コード カバレッジ
codeCoverageTool
コードカバレッジツール
Optionalコードカバレッジツールを選択して、ビルドのテストケースでカバーされるコードを決定します。
既定値: なし
引数の別名: codeCoverageToolOption
classFilesDirectories
クラスファイルのディレクトリ
必要クラスファイルとアーカイブファイル (JAR、WAR など) を含むディレクトリのコンマ区切りリスト。 コードカバレッジは、これらのディレクトリ内のクラスファイルについて報告されます。 通常、の下のクラスが `build/classes/main` 検索されます。これは、Gradle ビルドの既定のクラスディレクトリです。
既定値: build/classes/main/
引数の別名: codeCoverageClassFilesDirectories
classFilter
クラス包含/除外フィルター
Optionalコードカバレッジを収集するクラスを含めるまたは除外するフィルターのコンマ区切りのリスト。 例: +: com.*, +: org.*,-*: my.app "*
引数の別名: codeCoverageClassFilter
failIfCoverageEmpty
コードカバレッジの結果がない場合に失敗する
Optionalコードカバレッジが発行する結果を生成しなかった場合にビルドを失敗とする
既定値: false
引数の別名: codeCoverageFailIfEmpty
詳細設定
cwd
作業ディレクトリ
OptionalGradle ビルドを実行する作業ディレクトリ。 指定しない場合、リポジトリのルートディレクトリが使用されます。
javaHomeSelection
JAVA_HOME の設定
必要ビルド中に検出される JDK バージョンを選択するか、手動で JDK パスを入力することによって、JAVA_HOME を設定します。
既定値: JDKVersion
引数の別名: javaHomeOption
jdkVersion
JDK のバージョン
Optionalは、選択した JDK のバージョンへのパスを検出し、それに応じて JAVA_HOME を設定します
引数の別名: jdkDirectory
jdkUserInputPath
JDK パス
必要指定されたパスに JAVA_HOME を設定します。
既定値: 既定
引数の別名: jdkVersionOption
jdkArchitecture
JDK のアーキテクチャ
Optional必要に応じて、JDK のアーキテクチャ (x86、x64) を指定します。
既定値: x64
引数の別名: jdkArchitectureOption
gradleOpts
GRADLE_OPTS の設定
OptionalJVM を起動するためのコマンドライン引数を送信するために使用される GRADLE_OPTS 環境変数を設定します。 Xmx フラグは、JVM で使用可能な最大メモリを指定します。
既定値:-Xmx1024m
引数の別名: gradleOptions
コード分析
sqAnalysisEnabled
SonarQube 分析または SonarCloud 分析の実行
必要このオプションは、 Gradle タスクのバージョン1から Sonarqube および sonarcloud marketplace 拡張機能を使用するように変更されました。 [タスク] フィールドのタスクを実行した後にSonarqube 分析または sonarcloud 分析を実行するには、このオプションを有効にします。 また、この Gradle タスクの前に、いずれかの拡張機能からビルドパイプラインに 準備分析構成 タスクを追加する必要があります。
既定値: false
引数の別名: sonarQubeRunAnalysis
sqGradlePluginVersionChoice
Gradle バージョン用の SonarQube スキャナー
必要使用する SonarQube Gradle プラグインのバージョン。 Gradle 構成ファイルで宣言するか、ここでバージョンを指定することができます。
既定値: を指定します。
sqGradlePluginVersion
Gradle プラグインバージョン用の SonarQube スキャナー
必要使用可能なすべてのバージョンを 参照 する
既定値: 2.6.1
引数の別名: sonarQubeGradlePluginVersion
checkstyleAnalysisEnabled
Checkstyle の実行
Optional既定の Sun チェックを使用して Checkstyle ツールを実行します。 結果はビルド成果物としてアップロードされます。
既定値: false
引数の別名: checkStyleRunAnalysis
findbugsAnalysisEnabled
FindBugs の実行
OptionalFindBugs の静的分析ツールを使用して、コード内のバグを探します。 結果はビルド成果物としてアップロードされます
既定値: false
引数の別名: findBugsRunAnalysis
pmdAnalysisEnabled
PMD の実行
OptionalPMD Java スタティック分析ツールを使用して、コード内のバグを検索します。 結果はビルド成果物としてアップロードされます
既定値: false
引数の別名: pmdRunAnalysis
制御オプション

Gradle を使用して Java アプリをビルドする

ソースを開く

このタスクは、 GitHub のオープンソースです。 フィードバックと投稿が歓迎されます。

よく寄せられる質問

Gradle プロジェクトからラッパーを生成操作方法には

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

  1. 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 以降のユーザーはにを追加することでタイムアウトを変更でき Options -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 ます。 これにより、タイムアウトが10秒から1分に増えます。

エージェントは必要ですか?

ビルドまたはリリースを実行するには、エージェントが少なくとも 1 つ必要です。

問題が発生しています。 どのように対処すればよいですか?

ビルドとリリースのトラブルシューティングに関するページを参照してください。

既定のエージェント プールが選択できず、ビルドまたはリリースをキューに入れることができません。 これをどのように修正すればよいですか?

エージェント プール」を参照してください。

NuGet プッシュ タスクが次のエラーで失敗します: "Error: unable to get local issuer certificate" (エラー: ローカル発行者の証明書を取得できません)。 どうしたらいいですか。

これは、信頼されたルート証明書を追加することで修正できます。 ビルド エージェントに NODE_EXTRA_CA_CERTS=file 環境変数を追加するか、パイプラインに NODE.EXTRA.CA.CERTS=file タスク変数を追加することができます。 詳細については、環境変数に関するページを参照してください。

TFS をオンプレミスで使用していますが、これらの機能の一部が表示されません。 なぜでしょうか。

これらの機能の一部は Azure Pipelines でのみ使用でき、オンプレミスではまだ使用できません。 TFS の最新バージョンにアップグレードした場合は、一部の機能をオンプレミスで使用できます。