Gradle@3 - Tugas Gradle v3

Gunakan tugas ini untuk membuat menggunakan skrip pembungkus Gradle.

Sintaks

# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to Azure Pipelines. 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.
    codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. 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.
    #codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '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.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
    #sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
    #sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
    #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.
    #spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
    #spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
    #spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.

Input

gradleWrapperFile - Pembungkus Gradle
Alias input: wrapperScript. string. Wajib diisi. Nilai default: gradlew.

Menentukan lokasi pembungkus gradlew dalam repositori yang akan digunakan untuk build. Agen di Windows (termasuk agen yang dihosting Microsoft) harus menggunakan pembungkus gradlew.bat . Agen di Linux atau macOS dapat menggunakan gradlew skrip shell. Pelajari selengkapnya tentang Gradle Wrapper.


workingDirectory - Direktori kerja
Alias input: cwd. string.

Menentukan direktori kerja untuk menjalankan build Gradle. Tugas menggunakan direktori akar repositori jika direktori kerja tidak ditentukan.


options - Pilihan
string.

Menentukan opsi baris perintah yang akan diteruskan ke pembungkus Gradle. Lihat Baris Perintah Gradle untuk informasi selengkapnya.


tasks - Tugas
string. Wajib diisi. Nilai default: build.

Tugas untuk Gradle dijalankan. Daftar nama tugas harus dipisahkan oleh spasi dan dapat diambil dari gradlew tasks dikeluarkan dari prompt perintah.

Lihat Dasar-Dasar Skrip Build Gradle untuk informasi selengkapnya.


publishJUnitResults - Menerbitkan ke Azure Pipelines
boolean. Nilai default: true.

Menerbitkan hasil pengujian JUnit yang dihasilkan oleh build Gradle ke Azure Pipelines. Tugas ini menerbitkan setiap file hasil pengujian yang cocok Test Results Files sebagai uji coba di Azure Pipelines.


testResultsFiles - File hasil pengujian
string. Diperlukan saat publishJUnitResults = true. Nilai default: **/TEST-*.xml.

Jalur file untuk hasil pengujian. Kartubebas dapat digunakan. Misalnya, **/TEST-*.xml untuk semua file XML yang namanya dimulai dengan TEST-.


testRunTitle - Judul uji coba
string. Pilihan. Gunakan saat publishJUnitResults = true.

Memberikan nama untuk hasil kasus pengujian JUnit untuk build ini.


codeCoverageToolOption - Alat cakupan kode
Alias input: codeCoverageTool. string. Nilai yang diizinkan: None, Cobertura, dan JaCoCo. Nilai default: None.

Menentukan alat cakupan kode untuk menentukan kode yang dicakup oleh kasus pengujian untuk build.


codeCoverageClassFilesDirectories - Direktori file kelas
Alias input: classFilesDirectories. string. Diperlukan saat codeCoverageTool != None. Nilai default: build/classes/main/.

Daftar direktori yang dipisahkan koma yang berisi file kelas dan file arsip (.jar, .war, dan banyak lagi). Cakupan kode dilaporkan untuk file kelas di direktori ini. Biasanya, tugas mencari kelas di bawah build/classes/java/main (untuk Gradle 4+), yang merupakan direktori kelas default untuk build Gradle.


codeCoverageClassFilter - Filter penyertaan/pengecualian kelas
Alias input: classFilter. string. Pilihan. Gunakan saat codeCoverageTool != None.

Daftar filter yang dipisahkan koma untuk menyertakan atau mengecualikan kelas dari mengumpulkan cakupan kode. Misalnya: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Gagal ketika hasil cakupan kode hilang
Alias input: failIfCoverageEmpty. boolean. Pilihan. Gunakan saat codeCoverageTool != None. Nilai default: false.

Gagal membangun jika cakupan kode tidak menghasilkan hasil apa pun untuk dipublikasikan.


codeCoverageGradle5xOrHigher - Versi Gradle >= 5.x
Alias input: gradle5xOrHigher. boolean. Pilihan. Gunakan saat codeCoverageTool = JaCoCo. Nilai default: true.

Atur ini ke 'true' jika versi gradle = >5.x.


javaHomeOption - Atur JAVA_HOME menurut
Alias input: javaHomeSelection. string. Wajib diisi. Nilai yang diizinkan: JDKVersion (Versi JDK), Path. Nilai default: JDKVersion.

Mengatur JAVA_HOME dengan memilih versi JDK yang ditemukan tugas selama build atau dengan memasukkan jalur JDK secara manual.


jdkVersionOption - Versi JDK
Alias input: jdkVersion. string. Pilihan. Gunakan saat javaHomeSelection = JDKVersion. Nilai yang diizinkan: default, 1.11 (JDK 11), 1.10 (JDK 10 (di luar dukungan)), 1.9 (JDK 9 (di luar dukungan)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (di luar dukungan)). Nilai default: default.

Mencoba menemukan jalur ke versi JDK yang dipilih dan mengatur JAVA_HOME yang sesuai.


jdkDirectory - Jalur JDK
Alias input: jdkUserInputPath. string. Diperlukan saat javaHomeSelection = Path.

Mengatur JAVA_HOME ke jalur yang diberikan.


jdkArchitectureOption - Arsitektur JDK
Alias input: jdkArchitecture. string. Pilihan. Gunakan saat jdkVersion != default. Nilai yang diizinkan: x86, x64. Nilai default: x64.

Memasok arsitektur JDK (x86 atau x64).


gradleOptions - Atur GRADLE_OPTS
Alias input: gradleOpts. string. Nilai default: -Xmx1024m.

Mengatur variabel lingkungan GRADLE_OPTS, yang digunakan untuk mengirim argumen baris perintah untuk memulai JVM. Bendera xmx menentukan memori maksimum yang tersedia untuk JVM.


sonarQubeRunAnalysis - Menjalankan SonarQube atau Analisis SonarCloud
Alias input: sqAnalysisEnabled. boolean. Nilai default: false.

Opsi ini telah berubah dari tugas Gradle versi 1 untuk menggunakan ekstensi marketplace SonarQube dan SonarCloud . Aktifkan opsi ini untuk menjalankan analisis SonarQube atau SonarCloud setelah menjalankan tugas di bidang Tugas . Anda juga harus menambahkan tugas Siapkan Konfigurasi Analisis dari salah satu ekstensi ke alur build sebelum tugas Gradle ini.


sqGradlePluginVersionChoice - Pemindai SonarQube untuk versi Gradle
string. Diperlukan saat sqAnalysisEnabled = true. Nilai yang diizinkan: specify (Tentukan nomor versi), build (Gunakan plugin yang diterapkan di build.gradle Anda). Nilai default: specify.

Menentukan versi plugin SonarQube Gradle untuk digunakan. Deklarasikan versi dalam file konfigurasi Gradle, atau tentukan versi dengan string ini.


sonarQubeGradlePluginVersion - Pemindai SonarQube untuk versi plugin Gradle
Alias input: sqGradlePluginVersion. string. Diperlukan saat sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Nilai default: 2.6.1.

Berisi nomor versi plugin SonarQube Gradle.


checkStyleRunAnalysis - Jalankan Checkstyle
Alias input: checkstyleAnalysisEnabled. boolean. Nilai default: false.

Menjalankan alat Checkstyle dengan pemeriksaan Matahari default. Hasil diunggah sebagai artefak build.


findBugsRunAnalysis - Jalankan FindBugs
Alias input: findbugsAnalysisEnabled. boolean. Nilai default: false.

Menggunakan alat analisis statis FindBugs untuk mencari bug dalam kode. Hasil diunggah sebagai artefak build. Di Gradle 6.0, plugin ini dihapus. Gunakan plugin SpotBugs sebagai gantinya.


pmdRunAnalysis - Jalankan PMD
Alias input: pmdAnalysisEnabled. boolean. Nilai default: false.

Menggunakan alat analisis statis PMD Java untuk mencari bug dalam kode. Hasilnya diunggah sebagai artefak build.


spotBugsAnalysis - Jalankan SpotBugs
Alias input: spotBugsAnalysisEnabled. boolean. Nilai default: false.

spotBugs Berjalan ketika true. Plugin ini berfungsi dengan Gradle v5.6 atau yang lebih baru. Pelajari selengkapnya tentang menggunakan plugin SpotBugs Gradle. Plugin mungkin berfungsi dengan cara yang tidak terduga atau mungkin tidak berfungsi sama sekali dengan versi Gradle sebelumnya.


spotBugsGradlePluginVersionChoice - Versi plugin Spotbugs
string. Diperlukan saat spotBugsAnalysisEnabled = true. Nilai yang diizinkan: specify (Tentukan nomor versi), build (Gunakan plugin yang diterapkan di build.gradle Anda). Nilai default: specify.

Menentukan versi plugin SpotBugs Gradle untuk digunakan. Versi dapat dideklarasikan dalam file konfigurasi Gradle, atau versi dapat ditentukan dalam string ini.


spotbugsGradlePluginVersion - Nomor versi
string. Diperlukan saat spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Nilai default: 4.7.0.

Berisi nomor versi plugin SpotBugs Gradle.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Keterangan

Konfigurasi analisis SonarQube dipindahkan ke ekstensi SonarQube atau SonarCloud dalam tugas Prepare Analysis Configuration.

Gunakan tugas ini untuk membuat menggunakan skrip pembungkus Gradle.

Bagaimana cara membuat pembungkus dari proyek Gradle saya?

Pembungkus Gradle memungkinkan agen build mengunduh dan mengonfigurasi lingkungan Gradle yang tepat yang diperiksa ke repositori tanpa memiliki konfigurasi perangkat lunak apa pun pada agen build itu sendiri selain JVM.

  1. Buat pembungkus Gradle dengan mengeluarkan perintah berikut dari direktori proyek akar tempat build.gradle Anda berada:

    jamal@fabrikam> gradle wrapper

  2. Unggah pembungkus Gradle Anda ke repositori jarak jauh Anda.

    Ada artefak biner yang dihasilkan oleh pembungkus gradle (terletak di gradle/wrapper/gradle-wrapper.jar). File biner ini kecil dan tidak memerlukan pembaruan. Jika Anda perlu mengubah konfigurasi Gradle yang dijalankan pada agen build, Anda memperbarui gradle-wrapper.properties.

    Repositori akan terlihat seperti ini:

|-- gradle/
    `-- wrapper/
        `-- gradle-wrapper.jar
        `-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat

Bagaimana cara memperbaiki batas waktu saat mengunduh dependensi?

Untuk memperbaiki kesalahan seperti Read timed out saat mengunduh dependensi, pengguna Gradle 4.3+ dapat mengubah batas waktu dengan menambahkan -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 ke Options. Ini meningkatkan batas waktu dari 10 detik menjadi 1 menit.

Contoh

Membangun aplikasi Java Anda dengan Gradle

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen 1.91.0 atau lebih tinggi
Kategori tugas Build