Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Apache Maven ile derleme, test etme ve dağıtma.
# Maven v4
# Build, test, and deploy with Apache Maven.
- task: Maven@4
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 Azure Pipelines. Default: true.
testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
#testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title.
#allowBrokenSymlinks: true # boolean. Alias: allowBrokenSymbolicLinks. Optional. Use when publishJUnitResults = true. Allow broken symbolic links. Default: true.
# 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.
#codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
# Advanced
javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
#jdkVersionOption: 'default' # 'default' | '1.17' | '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.
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: false # boolean. Alias: mavenFeedAuthenticate. Authenticate with Artifacts feeds. Default: false.
#effectivePomSkip: false # boolean. Alias: skipEffectivePom. Skip generating effective POM while authenticating with Artifacts feeds. Default: false.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud analysis. Default: false.
#isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
#sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
#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.
#spotBugsRunAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs analysis. Default: false.
#spotBugsVersion: '4.5.3.0' # string. Alias: spotBugsMavenPluginVersion. Optional. Use when spotBugsAnalysisEnabled = true. Version number. Default: 4.5.3.0.
#spotBugsGoal: 'spotbugs' # 'spotbugs' | 'check'. Optional. Use when spotBugsAnalysisEnabled = true. The goal for the spotbugs plugin. Default: spotbugs.
#failWhenBugsFound: true # boolean. Alias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. Optional. Use when spotBugsAnalysisEnabled = true && spotBugsGoal = check. Fail when bugs are found with spotbugs:check. Default: true.
mavenPOMFile
- Maven POM dosyası
string
. Gereklidir. Varsayılan değer: pom.xml
.
Depo kökünden Maven POM dosyasına göreli yolu belirtir. Daha fazla bilgi için bkz. POM'ye giriş .
goals
- Hedef(ler)
string
. Varsayılan değer: package
.
(İsteğe bağlı) Kodunuzu derlemek package
ve bir .war dosyası olarak paketlemek için olarak ayarlayın. Bu bağımsız değişkeni boş bırakırsanız derleme başarısız olur. Daha fazla bilgi için bkz. Maven derleme yaşam döngüsüne giriş .
options
- Seçenekler
string
.
(İsteğe bağlı) Kullanmak istediğiniz Maven komut satırı seçeneklerini belirtir.
publishJUnitResults
- Azure Pipelines'da yayımlama
boolean
. Varsayılan değer: true
.
Maven derlemesi tarafından üretilen JUnit test sonuçlarını Azure Pipelines'da yayımlama seçeneğini belirtir. Her test sonuçları dosya eşleştirmesi Test Results Files
, Azure Pipelines'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: **/surefire-reports/TEST-*.xml
.
Yayımlayacak test sonuçları dosyalarının yolunu ve desenini belirtir.
Joker karakterler kullanılabilir.
Dosya eşleştirme desenleri hakkında daha fazla bilgi.
Örneğin, **/TEST-*.xml
adı ile TEST-
başlayan 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.
allowBrokenSymlinks
- Bozuk sembolik bağlantılara izin ver
Giriş diğer adı: allowBrokenSymbolicLinks
. boolean
. İsteğe bağlı. olduğunda publishJUnitResults = true
kullanın. Varsayılan değer: true
.
olarak ayarlanırsa false
, görev test sonuçlarını yayımlarken bozuk bir sembolik bağlantı bulduğunda derleme başarısız olur.
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. Kod kapsamının etkinleştirilmesi, Maven çalıştırıldığında temiz hedefi Maven hedefleri listesine ekler.
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 giden 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.
codeCoverageRestoreOriginalPomXml
- Görev yürütmeden sonra özgün pom.xml geri yükleme
Giriş diğer adı: restoreOriginalPomXml
. boolean
. İsteğe bağlı. olduğunda codeCoverageTool != None
kullanın. Varsayılan değer: false
.
Kod kapsamı sonuçları üretmek için değiştirilir pom.xml
. Özgün pom.xml
öğesini tutmanız gerekiyorsa bu seçeneği kullanın.
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
. Aracı makinesinde Java zaten yüklüyse JDK yüklü dizinin yolu olarak path
ve jdkDirectory
olarak ayarlayarak javaHomeOption
bunu belirtebilirsiniz.
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.17
(JDK 17), 1.11
(JDK 11), 1.10
(JDK 10 (destek dışı)), 1.9
(JDK 9 (destek dışı)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (destek dışı)). Varsayılan değer: default
.
Seçili JDK sürümünün yolunu bulmayı dener ve buna göre ayarlar JAVA_HOME
.
Not: Microsoft tarafından barındırılmayan bir aracıda çalıştırılıyorsa ve istenen Java sürümü aracı makinesinde ayarlanan değişken tarafından JAVA_HOME
belirtilen sürüm değilse, görev gerekli JDK'yi bulmak için değişkenine JAVA_HOME_{version}_{arch}
(örneğin: JAVA_HOME_8_X64
) güvenir. Bu değişkenin, JDK'nin bu parametre ve/veya tarafından jdkArchitecture
istenebilecek herhangi bir sürümü ve mimarisi için şirket içinde barındırılan aracılarda ayarlandığından emin olun.
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ü belirtir.
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
- Yapıt akışlarıyla kimlik doğrulaması
Giriş diğer adı: mavenFeedAuthenticate
. boolean
. Varsayılan değer: false
.
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.
effectivePomSkip
- Yapıt akışlarıyla kimlik doğrulaması yaparken etkili POM oluşturma işlemini atlayın
Giriş diğer adı: skipEffectivePom
. boolean
. Varsayılan değer: false
.
Yalnızca POM kullanarak Artifacts akışlarıyla kimlik doğrulaması yapar.
sonarQubeRunAnalysis
- SonarQube veya SonarCloud analizini çalıştırma
Giriş diğer adı: sqAnalysisEnabled
. boolean
. Varsayılan değer: false
.
Bu seçenek Maven görevinin 1. sürümünü kullanmaktan SonarQube ve SonarCloud market uzantılarını kullanmaya geçti.
Hedefler alanında hedefleri yürüttkten sonra SonarQube veya SonarCloud analizini çalıştırmak için bu seçeneği etkinleştirin. Önce yükleme veya paket hedefi çalıştırılmalıdır. Bu Maven görevinden önce, derleme işlem hattına uzantılardan birinden Çözümleme Yapılandırmasını Hazırlama görevi de eklemeniz gerekir.
isJacocoCoverageReportXML
- SonarQube analizi için XML Jacoco raporlarını kullanma
boolean
. İsteğe bağlı. olduğunda sqAnalysisEnabled = true && codeCoverageTool = JaCoCo
kullanın. Varsayılan değer: false
.
SonarQube analizi için XML Jacoco raporlarını kullanır. Test raporları hakkında daha fazla bilgi edinin.
sqMavenPluginVersionChoice
- Maven sürümü için SonarQube tarayıcısı
string
. olduğunda sqAnalysisEnabled = true
gereklidir. İzin verilen değerler: latest
(En son sürümü kullanın), pom
(pom.xml bildirilen sürümü kullanın). Varsayılan değer: latest
.
Kullanılacak SonarQube Maven eklenti sürümünü belirtir. En son sürümü kullanabilir veya sürümünüzdeki sürümü kullanabilirsiniz pom.xml
.
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. Dosyada pom.xml
Checkstyle yapılandırması belirtilmezse, varsayılan Güneş denetimleri kullanılı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.
spotBugsRunAnalysis
- SpotBugs analizini çalıştırma
Giriş diğer adı: spotBugsAnalysisEnabled
. boolean
. Varsayılan değer: false
.
SpotBugs kod analizi eklentisini çalıştırmak için bu seçeneği etkinleştirin. SpotBugs Maven eklentisi hakkında daha fazla bilgi.
spotBugsVersion
- Sürüm numarası
Giriş diğer adı: spotBugsMavenPluginVersion
. string
. İsteğe bağlı. olduğunda spotBugsAnalysisEnabled = true
kullanın. Varsayılan değer: 4.5.3.0
.
SpotBugs'un kullanılabilir sürümleri hakkında bilgi edinin.
spotBugsGoal
- Spotbugs eklentisinin hedefi
string
. İsteğe bağlı. olduğunda spotBugsAnalysisEnabled = true
kullanın. İzin verilen değerler: spotbugs
("spotbugs" - Bulunan hatalarla ilgili bir rapor oluşturur), check
("check" - Hata algılanırsa işlem hattı başarısız olur). Varsayılan değer: spotbugs
.
Eklentinin hedefini belirtir. SpotBugs hedefleri hakkında daha fazla bilgi edinin.
failWhenBugsFound
- Spotbugs ile hatalar bulunduğunda başarısız olur:check
Giriş diğer adı: spotBugsFailWhenBugsFound | sbFailWhenBugsFound
. boolean
. İsteğe bağlı. olduğunda spotBugsAnalysisEnabled = true && spotBugsGoal = check
kullanın. Varsayılan değer: true
.
Hedefi Denetle belirtilirse hatalar bulunduğunda başarısız olur. SpotBug parametresi ayrıntıları hakkında daha fazla bilgi edinin.
Tüm görevlerde 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.
Yok.
SonarQube analizinin yapılandırması, Çözümleme Yapılandırmasını Hazırlama görevinde SonarQube veya SonarCloud uzantılarına taşındı.
Önemli
içinde MAVEN_OPTS
seçeneğini kullanırken -q
etkili bir pom doğru oluşturulmaz ve Azure Artifacts akışlarının kimliği doğrulanamaz.
Önemli
Kullanmak istediğiniz JDK sürümü aracınızda zaten yüklüyse olarak ayarlayın javaHomeOption
path
ve JDK sürümünün yolunu ayarlayın jdkDirectory
. Bu seçenekler, Maven görevi için gereken ortam değişkenini ayarlar JAVA_HOME_11_X64
. Java Aracı yükleyici görevini kullanıyorsanız bu ortam değişkeni otomatik olarak ayarlanır.
ve #codeCoverageSourceDirectories
öğesini bir görev girişi olarak belirttiğinizden #codeCoverageClassFilesDirectories
emin olun. Bu iki parametre tek bir modül projesi için isteğe bağlıdır ancak çok modüllü projeler için gereklidir.
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
Üzerinde çalışır | Agent, DeploymentGroup |
Talep | Şirket içi 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 hiç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 | Yapı |
Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolun