Bagikan melalui


Maven@1 - Tugas Maven v1

Gunakan tugas ini untuk membangun dengan Apache Maven.

Sintaks

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. 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.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class Files Directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source Files Directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
  # Advanced
    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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven Version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven Path. 
    #mavenSetM2Home: false # boolean. Optional. Use when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    #mavenAuthenticateFeed: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # 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. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #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.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.

Input

mavenPOMFile - File POM Maven
string. Wajib diisi. Nilai default: pom.xml.

Menentukan jalur relatif dari akar repositori ke file POM Maven.


goals - Tujuan
string. Nilai default: package.


options - Pilihan
string.


publishJUnitResults - Terbitkan ke TFS/Team Services
boolean. Nilai default: true.

Menentukan opsi untuk menerbitkan hasil pengujian JUnit yang dihasilkan oleh build Maven ke TFS/Team Services. Setiap pencocokan Test Results Files file hasil pengujian akan diterbitkan sebagai uji coba di TFS/Team Services.


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

Menentukan jalur dan pola file hasil pengujian untuk diterbitkan. Misalnya, **/TEST-*.xml untuk semua file XML dengan nama yang dimulai dengan TEST-. Jika tidak ada jalur akar yang ditentukan, file dicocokkan di bawah direktori kerja default, nilai yang tersedia dalam variabel $(System.DefaultWorkingDirectory). Misalnya, nilai **/TEST-*.xml akan benar-benar menghasilkan file yang cocok dari $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - Judul Uji Coba
string. Opsional. Gunakan saat publishJUnitResults = true.

Menentukan nama untuk uji coba.


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

Menentukan alat cakupan kode.


codeCoverageClassFilter - Filter Penyertaan/Pengecualian Kelas
Alias input: classFilter. string. Pilihan. Gunakan saat codeCoverageTool != None.

Menentukan daftar filter yang dipisahkan koma untuk menyertakan atau mengecualikan kelas agar tidak mengumpulkan cakupan kode. Contohnya,+:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Direktori File Kelas
Alias input: classFilesDirectories. string. Pilihan. Gunakan saat codeCoverageTool = JaCoCo.

Bidang ini diperlukan untuk proyek multi-modul.
Menentukan daftar jalur relatif yang dipisahkan koma dari file POM Maven ke direktori yang berisi file kelas dan file arsip (JAR, WAR, dll.). Cakupan kode dilaporkan untuk file kelas di direktori ini. Contohnya,target/classes,target/testClasses.


codeCoverageSourceDirectories - Direktori File Sumber
Alias input: srcDirectories. string. Pilihan. Gunakan saat codeCoverageTool = JaCoCo.

Bidang ini diperlukan untuk proyek multi-modul.
Menentukan daftar jalur relatif yang dipisahkan koma dari file POM Maven ke direktori kode sumber. Laporan cakupan kode akan menggunakannya untuk menyoroti kode sumber. Contohnya,src/java,src/Test.


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.

JAVA_HOME Mengatur dengan memilih versi JDK yang akan ditemukan 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 mengaturnya JAVA_HOME .


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 (x86, x64) dari JDK.


mavenVersionOption - Versi Maven
Alias input: mavenVersionSelection. string. Wajib diisi. Nilai yang diizinkan: Default, Path (Jalur Kustom). Nilai default: Default.

Menggunakan versi Maven default atau versi dalam jalur kustom yang ditentukan.


mavenDirectory - Jalur Maven
Alias input: mavenPath. string. Diperlukan saat mavenVersionSelection = Path.

Memasok jalur kustom ke penginstalan Maven (misalnya: /usr/share/maven).


mavenSetM2Home - Mengatur variabel M2_HOME
boolean. Pilihan. Gunakan saat mavenVersionSelection = Path. Nilai default: false.

M2_HOME Mengatur variabel ke jalur penginstalan Maven kustom.


mavenOptions - Atur MAVEN_OPTS ke
Alias input: mavenOpts. string. Nilai default: -Xmx1024m.

MAVEN_OPTS Mengatur variabel lingkungan, yang digunakan untuk mengirim argumen baris perintah untuk memulai JVM. -Xmx Bendera menentukan memori maksimum yang tersedia untuk JVM.


mavenAuthenticateFeed - Mengautentikasi umpan Maven bawaan
Alias input: mavenFeedAuthenticate. boolean. Nilai default: true.

Mengautentikasi secara otomatis dengan umpan Azure Artifacts. Jika umpan Artefak tidak digunakan, batalkan pilihan opsi ini untuk build yang lebih cepat.


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.

Menentukan titik akhir generik server SonarQube.


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

Menentukan nama proyek SonarQube, misalnya sonar.projectName.


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

Menentukan kunci unik proyek SonarQube, misalnya sonar.projectKey.


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

Menentukan versi proyek SonarQube, misalnya sonar.projectVersion.


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

Jika menggunakan server SonarQube 5.1 atau yang lebih rendah, Anda harus menentukan detail koneksi database.


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

Gunakan untuk SonarQube server 5.1 dan yang lebih rendah saja.
Menentukan pengaturan koneksi database (misalnya, sonar.jdbc.url atau jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


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

Gunakan untuk SonarQube server 5.1 dan yang lebih rendah saja.
Menentukan nama pengguna untuk pengguna database (misalnya, sonar.jdbc.username).


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

Gunakan untuk SonarQube server 5.1 dan yang lebih rendah saja.
Menentukan kata sandi untuk pengguna database (misalnya, 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.

Opsi ini akan 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.

Opsi ini hanya tersedia saat menggunakan server SonarQube 5.3 atau lebih tinggi. Memperkenalkan penundaan, karena build harus menunggu SonarQube menyelesaikan analisis. Informasi lebih lanjut tentang gerbang kualitas SonarQube.


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

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


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

Menggunakan alat analisis statis PMD untuk mencari bug dalam kode. 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.


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.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Agen yang dihost sendiri harus memiliki kemampuan yang sesuai dengan tuntutan berikut untuk menjalankan pekerjaan yang menggunakan tugas ini: maven
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.89.0 atau lebih tinggi
Kategori tugas Build

Lihat juga