Maven@1 - Maven v1 görevi
Apache Maven ile derlemek için bu görevi kullanın.
Syntax
# 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.
Girişler
mavenPOMFile
- Maven POM dosyası
string
. Gereklidir. Varsayılan değer: pom.xml
.
Depo kökünden Maven POM dosyasına göreli yolu belirtir.
goals
- Hedef(ler)
string
. Varsayılan değer: package
.
options
- Seçenekler
string
.
publishJUnitResults
- TFS/Team Services'da yayımlama
boolean
. Varsayılan değer: true
.
Maven derlemesi tarafından üretilen JUnit test sonuçlarını TFS/Team Services'da yayımlama seçeneğini belirtir. Her test sonuçları dosya eşleştirmesi Test Results Files
, TFS/Team Services'da bir test çalıştırması olarak yayımlanır.
testResultsFiles
- Test Sonuçları Dosyaları
string
. olduğunda publishJUnitResults = true
gereklidir. Varsayılan değer: **/TEST-*.xml
.
Yayımlayacak test sonuçları dosyalarının yolunu ve desenini belirtir. Örneğin, **/TEST-*.xml
ile TEST-
başlayan bir ada sahip tüm XML dosyaları için. Kök yol belirtilmezse, dosyalar varsayılan çalışma dizininin altında eşleştirilir ve değeri değişkeninde $(System.DefaultWorkingDirectory)
bulunur. Örneğin, değeri **/TEST-*.xml
aslında dosyasından $(System.DefaultWorkingDirectory)/**/TEST-*.xml
eşleşen dosyalara neden olur.
testRunTitle
- Test ÇalıştırmaSı Başlığı
string
. İsteğe bağlı. olduğunda publishJUnitResults = true
kullanın.
Test çalıştırması için bir ad belirtir.
codeCoverageToolOption
- Kod Kapsamı Aracı
Giriş diğer adı: codeCoverageTool
. string
. İzin verilen değerler: None
, Cobertura
, JaCoCo
. Varsayılan değer: None
.
Kod kapsamı aracını belirtir.
codeCoverageClassFilter
- Sınıf Ekleme/Dışlama Filtreleri
Giriş diğer adı: classFilter
. string
. İsteğe bağlı. olduğunda codeCoverageTool != None
kullanın.
Sınıfların kod kapsamını toplamasını içerecek veya hariç tutacak filtrelerin virgülle ayrılmış bir listesini belirtir. Örneğin, +:com.*,+:org.*,-:my.app*.*
.
codeCoverageClassFilesDirectories
- Sınıf Dosyaları Dizinleri
Giriş diğer adı: classFilesDirectories
. string
. İsteğe bağlı. olduğunda codeCoverageTool = JaCoCo
kullanın.
Bu alan, çok modüllü bir proje için gereklidir.
Maven POM dosyasından sınıf dosyalarını ve arşiv dosyalarını (JAR, WAR vb.) içeren dizinlere göreli yolların virgülle ayrılmış bir listesini belirtir. Bu dizinlerdeki sınıf dosyaları için kod kapsamı bildirilir. Örneğin, target/classes,target/testClasses
.
codeCoverageSourceDirectories
- Kaynak Dosya Dizinleri
Giriş diğer adı: srcDirectories
. string
. İsteğe bağlı. olduğunda codeCoverageTool = JaCoCo
kullanın.
Bu alan, çok modüllü bir proje için gereklidir.
Maven POM dosyasından kaynak kod dizinlerine giden göreli yolların virgülle ayrılmış bir listesini belirtir. Kod kapsamı raporları, kaynak kodu vurgulamak için bunları kullanır. Örneğin, src/java,src/Test
.
codeCoverageFailIfEmpty
- Kod kapsamı sonuçları eksik olduğunda başarısız olur
Giriş diğer adı: failIfCoverageEmpty
. boolean
. İsteğe bağlı. olduğunda codeCoverageTool != None
kullanın. Varsayılan değer: false
.
Kod kapsamı yayımlamak için herhangi bir sonuç üretmediyse derleme başarısız olur.
javaHomeOption
- JAVA_HOME ayarlama ölçütü
Giriş diğer adı: javaHomeSelection
. string
. Gereklidir. İzin verilen değerler: JDKVersion
(JDK Sürümü), Path
. Varsayılan değer: JDKVersion
.
Derlemeler sırasında keşfedilecek bir JDK sürümünü seçerek veya JDK yolunu el ile girerek ayarlar JAVA_HOME
.
jdkVersionOption
- JDK Sürümü
Giriş diğer adı: jdkVersion
. string
. İsteğe bağlı. olduğunda javaHomeSelection = JDKVersion
kullanın. İzin verilen değerler: default
, 1.9
(JDK 9), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6). Varsayılan değer: default
.
Seçili JDK sürümünün yolunu bulmayı dener ve buna göre ayarlar JAVA_HOME
.
jdkDirectory
- JDK Yolu
Giriş diğer adı: jdkUserInputPath
. string
. olduğunda javaHomeSelection = Path
gereklidir.
JAVA_HOME
Verilen yola ayarlar.
jdkArchitectureOption
- JDK Mimarisi
Giriş diğer adı: jdkArchitecture
. string
. İsteğe bağlı. olduğunda jdkVersion != default
kullanın. İzin verilen değerler: x86
, x64
. Varsayılan değer: x64
.
JDK mimarisini (x86
, x64
) sağlar.
mavenVersionOption
- Maven Sürümü
Giriş diğer adı: mavenVersionSelection
. string
. Gereklidir. İzin verilen değerler: Default
, Path
(Özel Yol). Varsayılan değer: Default
.
Varsayılan Maven sürümünü veya belirtilen özel yoldaki sürümü kullanır.
mavenDirectory
- Maven Yolu
Giriş diğer adı: mavenPath
. string
. olduğunda mavenVersionSelection = Path
gereklidir.
Maven yüklemesinin özel yolunu sağlar (örneğin: /usr/share/maven
).
mavenSetM2Home
- M2_HOME değişkenini ayarlama
boolean
. İsteğe bağlı. olduğunda mavenVersionSelection = Path
kullanın. Varsayılan değer: false
.
Değişkenini M2_HOME
özel bir Maven yükleme yoluna ayarlar.
mavenOptions
- MAVEN_OPTS olarak ayarlama
Giriş diğer adı: mavenOpts
. string
. Varsayılan değer: -Xmx1024m
.
JVM'yi MAVEN_OPTS
başlatmak için komut satırı bağımsız değişkenleri göndermek için kullanılan ortam değişkenini ayarlar. bayrağı, -Xmx
JVM için kullanılabilir bellek üst sınırını belirtir.
mavenAuthenticateFeed
- Yerleşik Maven akışlarının kimliğini doğrulama
Giriş diğer adı: mavenFeedAuthenticate
. boolean
. Varsayılan değer: true
.
Azure Artifacts akışlarıyla otomatik olarak kimlik doğrulaması yapar. Yapıt akışları kullanımda değilse, daha hızlı derlemeler için bu seçeneğin seçimini kaldırın.
sonarQubeRunAnalysis
- SonarQube Analizini Çalıştırma
Giriş diğer adı: sqAnalysisEnabled
. boolean
. Varsayılan değer: false
.
Geçerli hedefleri yürüttükten sonra bir SonarQube analizi çalıştırır. install
veya package
hedefler önce yürütülmelidir.
sonarQubeServiceEndpoint
- SonarQube Uç Noktası
Giriş diğer adı: sqConnectedServiceName
. string
. olduğunda sqAnalysisEnabled = true
gereklidir.
SonarQube sunucusu genel uç noktasını belirtir.
sonarQubeProjectName
- SonarQube Proje Adı
Giriş diğer adı: sqProjectName
. string
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true
kullanın.
Örneğin, SonarQube proje adını sonar.projectName
belirtir.
sonarQubeProjectKey
- SonarQube Proje Anahtarı
Giriş diğer adı: sqProjectKey
. string
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true
kullanın.
SonarQube proje benzersiz anahtarını belirtir, örneğin sonar.projectKey
.
sonarQubeProjectVersion
- SonarQube Proje Sürümü
Giriş diğer adı: sqProjectVersion
. string
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true
kullanın.
SonarQube proje sürümünü belirtir, örneğin sonar.projectVersion
.
sonarQubeSpecifyDB
- SonarQube sunucu sürümü 5.2'den düşük
Giriş diğer adı: sqDbDetailsRequired
. boolean
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true
kullanın. Varsayılan değer: false
.
SonarQube sunucusu 5.1 veya daha düşük bir sunucu kullanıyorsanız, veritabanı bağlantı ayrıntılarını belirtmeniz gerekir.
sonarQubeDBUrl
- Veritabanı Bağlantı Dizesi
Giriş diğer adı: sqDbUrl
. string
. İsteğe bağlı. olduğunda sqDbDetailsRequired = true
kullanın.
Yalnızca SonarQube sunucusu 5.1 ve daha düşük sürümler için kullanın.
Veritabanı bağlantı ayarını belirtir (örneğin, sonar.jdbc.url
veya jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
).
sonarQubeDBUsername
- Veritabanı Kullanıcı Adı
Giriş diğer adı: sqDbUsername
. string
. İsteğe bağlı. olduğunda sqDbDetailsRequired = true
kullanın.
Yalnızca SonarQube sunucusu 5.1 ve daha düşük sürümler için kullanın.
Veritabanı kullanıcısının kullanıcı adını belirtir (örneğin, sonar.jdbc.username
).
sonarQubeDBPassword
- Veritabanı Kullanıcı Parolası
Giriş diğer adı: sqDbPassword
. string
. İsteğe bağlı. olduğunda sqDbDetailsRequired = true
kullanın.
Yalnızca SonarQube sunucusu 5.1 ve daha düşük sürümler için kullanın.
Veritabanı kullanıcısının parolasını belirtir (örneğin, sonar.jdbc.password
).
sonarQubeIncludeFullReport
- Derleme özetine tam analiz raporu ekleme (SQ 5.3+)
Giriş diğer adı: sqAnalysisIncludeFullReport
. boolean
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true
kullanın. Varsayılan değer: true
.
Bu seçenek, SonarQube analizi tamamlanana kadar derlemeyi geciktirecektir.
sonarQubeFailWhenQualityGateFails
- Kalite geçidi hatasında derleme başarısız oldu (SQ 5.3+)
Giriş diğer adı: sqAnalysisBreakBuildIfQualityGateFailed
. boolean
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true
kullanın.
Bu seçenek yalnızca SonarQube 5.3 veya üzeri bir sunucu kullanırken kullanılabilir. Derlemenin SonarQube'un analizi tamamlamasını beklemesi gerektiğinden gecikmeler oluşturur. SonarQube kalite kapıları hakkında daha fazla bilgi.
checkStyleRunAnalysis
- Checkstyle'ı çalıştırma
Giriş diğer adı: checkstyleAnalysisEnabled
. boolean
. Varsayılan değer: false
.
Checkstyle aracını varsayılan Güneş denetimleriyle çalıştırır. Sonuçlar derleme yapıtları olarak karşıya yüklenir.
pmdRunAnalysis
- PMD çalıştırma
Giriş diğer adı: pmdAnalysisEnabled
. boolean
. Varsayılan değer: false
.
Koddaki hataları aramak için PMD statik analiz aracını kullanır. Sonuçlar derleme yapıtları olarak karşıya yüklenir.
findBugsRunAnalysis
- FindBugs'ı çalıştırma
Giriş diğer adı: findbugsAnalysisEnabled
. boolean
. Varsayılan değer: false
.
Koddaki hataları aramak için FindBugs statik analiz aracını kullanır. Sonuçlar derleme yapıtları olarak karşıya yüklenir.
Görev denetimi seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Yok.
Gereksinimler
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
Üzerinde çalıştırılır | Agent, DeploymentGroup |
Talep | Şirket içinde barındırılan aracılar, bu görevi kullanan işleri çalıştırmak için aşağıdaki taleplerle eşleşen özelliklere sahip olmalıdır: maven |
Özellikler | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
Komut kısıtlamaları | Herhangi biri |
Ayarlanabilir değişkenler | Herhangi biri |
Aracı sürümü | 1.89.0 veya üzeri |
Görev kategorisi | Derleme |