Udostępnij za pośrednictwem


Maven@1 — zadanie maven w wersji 1

To zadanie służy do kompilowania za pomocą narzędzia Apache Maven.

Składnia

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

Dane wejściowe

mavenPOMFile - Plik POM narzędzia Maven
string. Wymagane. Wartość domyślna: pom.xml.

Określa ścieżkę względną z katalogu głównego repozytorium do pliku POM narzędzia Maven.


goals - Bramki
string. Wartość domyślna: package.


options - Opcje
string.


publishJUnitResults - Publikowanie w usługach TFS/Team Services
boolean. Wartość domyślna: true.

Określa opcję publikowania wyników testów narzędzia JUnit utworzonych przez kompilację narzędzia Maven w usługach TFS/Team Services. Każde dopasowanie Test Results Files pliku wyników testów zostanie opublikowane jako przebieg testu w programie TFS/Team Services.


testResultsFiles - Pliki wyników testów
string. Wymagane, gdy publishJUnitResults = true. Wartość domyślna: **/TEST-*.xml.

Określa ścieżkę i wzorzec plików wyników testów do opublikowania. Na przykład **/TEST-*.xml dla wszystkich plików XML o nazwie rozpoczynającej się od TEST-. Jeśli nie określono ścieżki głównej, pliki są dopasowywane poniżej domyślnego katalogu roboczego, którego wartość jest dostępna w zmiennej $(System.DefaultWorkingDirectory). Na przykład wartość **/TEST-*.xml elementu w rzeczywistości spowoduje dopasowanie plików z $(System.DefaultWorkingDirectory)/**/TEST-*.xmlklasy .


testRunTitle - Tytuł przebiegu testu
string. Opcjonalny. Użyj polecenia , gdy publishJUnitResults = true.

Określa nazwę przebiegu testu.


codeCoverageToolOption - Narzędzie pokrycia kodu
Alias wejściowy: codeCoverageTool. string. Dozwolone wartości: None, Cobertura, JaCoCo. Wartość domyślna: None.

Określa narzędzie pokrycia kodu.


codeCoverageClassFilter - Filtry dołączania/wykluczania klas
Alias wejściowy: classFilter. string. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None.

Określa rozdzieloną przecinkami listę filtrów do uwzględnienia lub wykluczenia klas ze zbierania pokrycia kodu. Na przykład +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Katalogi plików klas
Alias wejściowy: classFilesDirectories. string. Opcjonalny. Użyj polecenia , gdy codeCoverageTool = JaCoCo.

To pole jest wymagane dla projektu z wieloma modułami.
Określa rozdzielaną przecinkami listę ścieżek względnych z pliku POM narzędzia Maven do katalogów zawierających pliki klas i pliki archiwum (JAR, WAR itp.). Pokrycie kodu jest zgłaszane dla plików klas w tych katalogach. Na przykład target/classes,target/testClasses.


codeCoverageSourceDirectories - Katalogi plików źródłowych
Alias wejściowy: srcDirectories. string. Opcjonalny. Użyj polecenia , gdy codeCoverageTool = JaCoCo.

To pole jest wymagane dla projektu z wieloma modułami.
Określa rozdzielaną przecinkami listę ścieżek względnych z pliku POM narzędzia Maven do katalogów kodu źródłowego. Raporty pokrycia kodu będą używać ich do wyróżniania kodu źródłowego. Na przykład src/java,src/Test.


codeCoverageFailIfEmpty - Niepowodzenie, gdy brakuje wyników pokrycia kodu
Alias wejściowy: failIfCoverageEmpty. boolean. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None. Wartość domyślna: false.

Kompilacja kończy się niepowodzeniem, jeśli pokrycie kodu nie wygenerowało żadnych wyników do opublikowania.


javaHomeOption - Ustaw JAVA_HOME przez
Alias wejściowy: javaHomeSelection. string. Wymagane. Dozwolone wartości: JDKVersion (wersja zestawu JDK), Path. Wartość domyślna: JDKVersion.

Zestawy JAVA_HOME przez wybranie wersji zestawu JDK, która zostanie odnaleziona podczas kompilacji lub przez ręczne wprowadzenie ścieżki zestawu JDK.


jdkVersionOption - Wersja zestawu JDK
Alias wejściowy: jdkVersion. string. Opcjonalny. Użyj polecenia , gdy javaHomeSelection = JDKVersion. Dozwolone wartości: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Wartość domyślna: default.

Próbuje odnaleźć ścieżkę do wybranej wersji zestawu JDK i odpowiednio ustawić JAVA_HOME .


jdkDirectory - Ścieżka zestawu JDK
Alias wejściowy: jdkUserInputPath. string. Wymagane, gdy javaHomeSelection = Path.

Ustawia JAVA_HOME na daną ścieżkę.


jdkArchitectureOption - Architektura zestawu JDK
Alias wejściowy: jdkArchitecture. string. Opcjonalny. Użyj polecenia , gdy jdkVersion != default. Dozwolone wartości: x86, x64. Wartość domyślna: x64.

Dostarcza architekturę (x86, x64) zestawu JDK.


mavenVersionOption - Wersja narzędzia Maven
Alias wejściowy: mavenVersionSelection. string. Wymagane. Dozwolone wartości: Default, Path (Ścieżka niestandardowa). Wartość domyślna: Default.

Używa domyślnej wersji narzędzia Maven lub wersji w określonej ścieżce niestandardowej.


mavenDirectory - Ścieżka narzędzia Maven
Alias wejściowy: mavenPath. string. Wymagane, gdy mavenVersionSelection = Path.

Dostarcza ścieżkę niestandardową do instalacji narzędzia Maven (na przykład: /usr/share/maven).


mavenSetM2Home - Ustawianie zmiennej M2_HOME
boolean. Opcjonalny. Użyj polecenia , gdy mavenVersionSelection = Path. Wartość domyślna: false.

Ustawia zmienną M2_HOME na niestandardową ścieżkę instalacji programu Maven.


mavenOptions - Ustaw MAVEN_OPTS na
Alias wejściowy: mavenOpts. string. Wartość domyślna: -Xmx1024m.

Ustawia zmienną MAVEN_OPTS środowiskową, która służy do wysyłania argumentów wiersza polecenia w celu uruchomienia maszyny wirtualnej JVM. Flaga -Xmx określa maksymalną ilość pamięci dostępnej dla maszyny wirtualnej JVM.


mavenAuthenticateFeed - Uwierzytelnianie wbudowanych źródeł danych Maven
Alias wejściowy: mavenFeedAuthenticate. boolean. Wartość domyślna: true.

Automatycznie uwierzytelnia się przy użyciu kanałów informacyjnych usługi Azure Artifacts. Jeśli kanały informacyjne artefaktów nie są używane, usuń zaznaczenie tej opcji, aby przyspieszyć kompilacje.


sonarQubeRunAnalysis - Uruchamianie analizy SonarQube
Alias wejściowy: sqAnalysisEnabled. boolean. Wartość domyślna: false.

Uruchamia analizę SonarQube po wykonaniu bieżących celów. install lub package należy najpierw wykonać cele.


sonarQubeServiceEndpoint - Punkt końcowy SonarQube
Alias wejściowy: sqConnectedServiceName. string. Wymagane, gdy sqAnalysisEnabled = true.

Określa ogólny punkt końcowy serwera SonarQube.


sonarQubeProjectName - Nazwa projektu SonarQube
Alias wejściowy: sqProjectName. string. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true.

Określa nazwę projektu SonarQube, na przykład sonar.projectName.


sonarQubeProjectKey - Klucz projektu SonarQube
Alias wejściowy: sqProjectKey. string. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true.

Określa unikatowy klucz projektu SonarQube, na przykład sonar.projectKey.


sonarQubeProjectVersion - Wersja projektu SonarQube
Alias wejściowy: sqProjectVersion. string. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true.

Określa wersję projektu SonarQube, na przykład sonar.projectVersion.


sonarQubeSpecifyDB - Wersja serwera SonarQube jest niższa niż 5.2
Alias wejściowy: sqDbDetailsRequired. boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true. Wartość domyślna: false.

Jeśli używasz serwera SonarQube 5.1 lub nowszego, musisz określić szczegóły połączenia z bazą danych.


sonarQubeDBUrl - Parametry połączenia bazy danych
Alias wejściowy: sqDbUrl. string. Opcjonalny. Użyj polecenia , gdy sqDbDetailsRequired = true.

Służy tylko dla serwera SonarQube w wersji 5.1 i niższej.
Określa ustawienie połączenia z bazą danych (na przykład sonar.jdbc.url lub jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


sonarQubeDBUsername - Nazwa użytkownika bazy danych
Alias wejściowy: sqDbUsername. string. Opcjonalny. Użyj polecenia , gdy sqDbDetailsRequired = true.

Służy tylko dla serwera SonarQube w wersji 5.1 i niższej.
Określa nazwę użytkownika bazy danych (na przykład sonar.jdbc.username).


sonarQubeDBPassword - Hasło użytkownika bazy danych
Alias wejściowy: sqDbPassword. string. Opcjonalny. Użyj polecenia , gdy sqDbDetailsRequired = true.

Służy tylko dla serwera SonarQube w wersji 5.1 i niższej.
Określa hasło użytkownika bazy danych (na przykład sonar.jdbc.password).


sonarQubeIncludeFullReport - Uwzględnij pełny raport analizy w podsumowaniu kompilacji (SQ 5.3+)
Alias wejściowy: sqAnalysisIncludeFullReport. boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true. Wartość domyślna: true.

Ta opcja opóźni kompilację do momentu ukończenia analizy SonarQube.


sonarQubeFailWhenQualityGateFails - Niepowodzenie kompilacji w przypadku awarii bramy jakości (SQ 5.3+)
Alias wejściowy: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true.

Ta opcja jest dostępna tylko w przypadku korzystania z serwera SonarQube w wersji 5.3 lub nowszej. Wprowadza opóźnienia, ponieważ kompilacja musi czekać, aż sonarQube ukończy analizę. Więcej informacji na temat bram jakości SonarQube.


checkStyleRunAnalysis - Uruchamianie stylu kontrolnego
Alias wejściowy: checkstyleAnalysisEnabled. boolean. Wartość domyślna: false.

Uruchamia narzędzie Checkstyle z domyślnym sprawdzaniem Sun. Wyniki są przekazywane jako artefakty kompilacji.


pmdRunAnalysis - Uruchamianie narzędzia PMD
Alias wejściowy: pmdAnalysisEnabled. boolean. Wartość domyślna: false.

Używa narzędzia analizy statycznej PMD do wyszukiwania usterek w kodzie. Wyniki są przekazywane jako artefakty kompilacji.


findBugsRunAnalysis - Uruchamianie funkcji FindBugs
Alias wejściowy: findbugsAnalysisEnabled. boolean. Wartość domyślna: false.

Używa narzędzia do analizy statycznej FindBugs, aby wyszukać usterki w kodzie. Wyniki są przekazywane jako artefakty kompilacji.


Opcje sterowania zadaniami

Wszystkie zadania mają opcje sterowania oprócz ich danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

Brak.

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami dotyczącymi uruchamiania zadań korzystających z tego zadania: maven
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 1.89.0 lub nowsza
Kategoria zadania Kompilacja

Zobacz też