Bagikan melalui


Gradle@1 - Tugas Gradle v1

Buat menggunakan skrip pembungkus Gradle.

Sintaks

# 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.

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.


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.


workingDirectory - Direktori Kerja
Alias input: cwd. string.

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


publishJUnitResults - Terbitkan ke TFS/Team Services
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: **/build/test-results/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 = false. 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.


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.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). 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 Analisis SonarQube
Alias input: sqAnalysisEnabled. boolean. Nilai default: false.

Menjalankan analisis SonarQube setelah menjalankan tujuan saat ini. install atau package tujuan harus dijalankan terlebih dahulu.


sonarQubeServiceEndpoint - Titik Akhir SonarQube
Alias input: sqConnectedServiceName. string. Diperlukan saat sqAnalysisEnabled = true.

Titik akhir yang menentukan server SonarQube untuk digunakan.


sonarQubeProjectName - Nama Proyek SonarQube
Alias input: sqProjectName. string. Diperlukan saat sqAnalysisEnabled = true.

Nama proyek SonarQube, yaitu sonar.projectName.


sonarQubeProjectKey - Kunci Proyek SonarQube
Alias input: sqProjectKey. string. Diperlukan saat sqAnalysisEnabled = true.

Kunci unik proyek SonarQube, yaitu sonar.projectKey.


sonarQubeProjectVersion - Versi Proyek SonarQube
Alias input: sqProjectVersion. string. Diperlukan saat sqAnalysisEnabled = true.

Versi proyek SonarQube, yaitu sonar.projectVersion.


sonarQubeGradlePluginVersion - Versi Plugin SonarQube Gradle
Alias input: sqGradlePluginVersion. string. Diperlukan saat sqAnalysisEnabled = true. Nilai default: 2.0.1.

Berisi nomor versi plugin SpotBugs Gradle.


sonarQubeSpecifyDB - Versi server SonarQube lebih rendah dari 5.2
Alias input: sqDbDetailsRequired. boolean. Pilihan. Gunakan saat sqAnalysisEnabled = true. Nilai default: false.

SonarQube server 5.1 dan yang lebih rendah saja. Menentukan detail koneksi database.


sonarQubeDBUrl - String Koneksi Db
Alias input: sqDbUrl. string. Pilihan. Gunakan saat sqDbDetailsRequired = true.

Hanya server SonarQube versi 5.1 dan yang lebih rendah. Memasukkan pengaturan koneksi database, yaitu sonar.jdbc.url. Misalnya: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Nama Pengguna Db
Alias input: sqDbUsername. string. Pilihan. Gunakan saat sqDbDetailsRequired = true.

SonarQube server 5.1 dan yang lebih rendah saja. Masukkan nama pengguna untuk pengguna database, yaitu sonar.jdbc.username.


sonarQubeDBPassword - Kata Sandi Pengguna Db
Alias input: sqDbPassword. string. Pilihan. Gunakan saat sqDbDetailsRequired = true.

SonarQube server 5.1 dan yang lebih rendah saja. Masukkan kata sandi untuk pengguna database, yaitu sonar.jdbc.password.


sonarQubeIncludeFullReport - Sertakan laporan analisis lengkap dalam ringkasan build (SQ 5.3+)
Alias input: sqAnalysisIncludeFullReport. boolean. Pilihan. Gunakan saat sqAnalysisEnabled = true. Nilai default: true.

Menunda build hingga analisis SonarQube selesai.


sonarQubeFailWhenQualityGateFails - Gagal membangun pada kegagalan gerbang kualitas (SQ 5.3+)
Alias input: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Pilihan. Gunakan saat sqAnalysisEnabled = true.

Hanya server SonarQube versi 5.3 atau lebih tinggi. Memperkenalkan penundaan karena build harus menunggu SonarQube menyelesaikan analisis. Pelajari selengkapnya tentang menggunakan SonarQube untuk build.


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.


Opsi kontrol tugas

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

Variabel output

Tidak ada.

Keterangan

Catatan

Ada versi yang lebih baru dari tugas ini yang tersedia di Gradle@3.

Catatan

Ada versi yang lebih baru dari tugas ini yang tersedia di Gradle@2.

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

Gunakan tugas ini untuk membangun 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 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 perlu diperbarui. 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.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Agen yang dihost sendiri harus memiliki kemampuan yang cocok dengan tuntutan berikut untuk menjalankan pekerjaan yang menggunakan tugas ini: java
Kemampuan Tugas ini tidak memenuhi tuntutan 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