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 = truegereklidir. 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-*.xmleşleşen dosyalara neden olur.


testRunTitle - Test ÇalıştırmaSı Başlığı
string. İsteğe bağlı. olduğunda publishJUnitResults = truekullanı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 != Nonekullanı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 = JaCoCokullanı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 = JaCoCokullanı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 != Nonekullanı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 = JDKVersionkullanı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 = Pathgereklidir.

JAVA_HOME Verilen yola ayarlar.


jdkArchitectureOption - JDK Mimarisi
Giriş diğer adı: jdkArchitecture. string. İsteğe bağlı. olduğunda jdkVersion != defaultkullanı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 = Pathgereklidir.

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 = Pathkullanı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 = truegereklidir.

SonarQube sunucusu genel uç noktasını belirtir.


sonarQubeProjectName - SonarQube Proje Adı
Giriş diğer adı: sqProjectName. string. İsteğe bağlı. olduğunda sqAnalysisEnabled = truekullanın.

Örneğin, SonarQube proje adını sonar.projectNamebelirtir.


sonarQubeProjectKey - SonarQube Proje Anahtarı
Giriş diğer adı: sqProjectKey. string. İsteğe bağlı. olduğunda sqAnalysisEnabled = truekullanı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 = truekullanı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 = truekullanı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 = truekullanı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 = truekullanı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 = truekullanı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 = truekullanı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 = truekullanı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

Ayrıca bkz.