Поделиться через


Maven@1 — задача Maven версии 1

Используйте эту задачу для сборки с помощью Apache Maven.

Синтаксис

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

Входные данные

mavenPOMFile - Файл MAven POM
string. Обязательный. Значение по умолчанию: pom.xml.

Указывает относительный путь от корневого каталога репозитория к файлу POM Maven.


goals - Цели
string. Значение по умолчанию: package.


options - Параметры
string.


publishJUnitResults - Публикация в TFS или Team Services
boolean. Значение по умолчанию: true.

Указывает параметр для публикации результатов теста JUnit, созданных сборкой Maven, в TFS/Team Services. Каждое сопоставление Test Results Files файла результатов теста будет опубликовано в виде тестового запуска в TFS/Team Services.


testResultsFiles - Файлы результатов теста
string. Требуется при .publishJUnitResults = true Значение по умолчанию: **/TEST-*.xml.

Указывает путь и шаблон файлов результатов теста для публикации. Например, **/TEST-*.xml для всех XML-файлов с именем, начинающимся с TEST-. Если корневой путь не указан, файлы сопоставляются под рабочим каталогом по умолчанию, значение которого доступно в переменной $(System.DefaultWorkingDirectory). Например, значение **/TEST-*.xml фактически приведет к сопоставлению файлов из $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - Заголовок тестового запуска
string. Необязательный элемент. Используйте при publishJUnitResults = true.

Указывает имя тестового запуска.


codeCoverageToolOption - Средство покрытия кода
Входной псевдоним: codeCoverageTool. string. Допустимые значения: None, Cobertura, JaCoCo. Значение по умолчанию: None.

Указывает средство покрытия кода.


codeCoverageClassFilter - Фильтры включения и исключения классов
Входной псевдоним: classFilter. string. Необязательный элемент. Используйте при codeCoverageTool != None.

Задает разделенный запятыми список фильтров, включающих или исключающих классы из сбора протестированного кода. Например, +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Каталоги файлов классов
Входной псевдоним: classFilesDirectories. string. Необязательный элемент. Используйте при codeCoverageTool = JaCoCo.

Это поле является обязательным для многомодульного проекта.
Задает разделенный запятыми список относительных путей от файла POM Maven к каталогам, содержащим файлы классов и архивные файлы (JAR, WAR и т. д.). Объем протестированного кода отображается для файлов классов в этих каталогах. Например, target/classes,target/testClasses.


codeCoverageSourceDirectories - Каталоги исходных файлов
Входной псевдоним: srcDirectories. string. Необязательный элемент. Используйте при codeCoverageTool = JaCoCo.

Это поле является обязательным для многомодульного проекта.
Задает разделенный запятыми список относительных путей из файла POM Maven в каталоги исходного кода. Отчеты об объеме протестированного кода будут использовать их для выделения исходного кода. Например, src/java,src/Test.


codeCoverageFailIfEmpty - Сбой при отсутствии результатов покрытия кода
Входной псевдоним: failIfCoverageEmpty. boolean. Необязательный элемент. Используйте при codeCoverageTool != None. Значение по умолчанию: false.

Завершается сбоем сборки, если объем протестированного кода не дает результатов для публикации.


javaHomeOption - Задать JAVA_HOME
Входной псевдоним: javaHomeSelection. string. Обязательный. Допустимые значения: JDKVersion (версия JDK), Path. Значение по умолчанию: JDKVersion.

Задает JAVA_HOME либо путем выбора версии JDK, которая будет обнаружена во время сборки, либо путем ввода пути JDK вручную.


jdkVersionOption - Версия JDK
Входной псевдоним: jdkVersion. string. Необязательный элемент. Используйте при javaHomeSelection = JDKVersion. Допустимые значения: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Значение по умолчанию: default.

Пытается найти путь к выбранной версии JDK и задает JAVA_HOME соответствующим образом.


jdkDirectory - Путь JDK
Входной псевдоним: jdkUserInputPath. string. Требуется при .javaHomeSelection = Path

Задает JAVA_HOME заданный путь.


jdkArchitectureOption - Архитектура JDK
Входной псевдоним: jdkArchitecture. string. Необязательный элемент. Используйте при jdkVersion != default. Допустимые значения: x86, x64. Значение по умолчанию: x64.

Предоставляет архитектуру (x86, x64) JDK.


mavenVersionOption - Версия Maven
Входной псевдоним: mavenVersionSelection. string. Обязательный. Допустимые значения: Default, Path (пользовательский путь). Значение по умолчанию: Default.

Использует версию Maven по умолчанию или версию в указанном пользовательском пути.


mavenDirectory - Путь Maven
Входной псевдоним: mavenPath. string. Требуется при .mavenVersionSelection = Path

Предоставляет пользовательский путь к установке Maven (например, /usr/share/maven).


mavenSetM2Home - Задать переменную M2_HOME
boolean. Необязательный элемент. Используйте при mavenVersionSelection = Path. Значение по умолчанию: false.

Задает для переменной M2_HOME пользовательский путь установки Maven.


mavenOptions - Задайте для MAVEN_OPTS значение
Входной псевдоним: mavenOpts. string. Значение по умолчанию: -Xmx1024m.

MAVEN_OPTS Задает переменную среды, которая используется для отправки аргументов командной строки для запуска виртуальной машины Java. Флаг -Xmx указывает максимальный объем памяти, доступный для виртуальной машины Java.


mavenAuthenticateFeed - Проверка подлинности встроенных веб-каналов Maven
Входной псевдоним: mavenFeedAuthenticate. boolean. Значение по умолчанию: true.

Автоматическая проверка подлинности с помощью веб-каналов Azure Artifacts. Если веб-каналы Артефактов не используются, снимите этот флажок для ускорения сборки.


sonarQubeRunAnalysis - Запуск анализа SonarQube
Входной псевдоним: sqAnalysisEnabled. boolean. Значение по умолчанию: false.

Выполняет анализ SonarQube после выполнения текущих целей. install или package цели должны быть выполнены в первую очередь.


sonarQubeServiceEndpoint - Конечная точка SonarQube
Входной псевдоним: sqConnectedServiceName. string. Требуется при .sqAnalysisEnabled = true

Указывает универсальную конечную точку сервера SonarQube.


sonarQubeProjectName - Имя проекта SonarQube
Входной псевдоним: sqProjectName. string. Необязательный элемент. Используйте при sqAnalysisEnabled = true.

Задает имя проекта SonarQube, например sonar.projectName.


sonarQubeProjectKey - Ключ проекта SonarQube
Входной псевдоним: sqProjectKey. string. Необязательный элемент. Используйте при sqAnalysisEnabled = true.

Указывает уникальный ключ проекта SonarQube, например sonar.projectKey.


sonarQubeProjectVersion - Версия проекта SonarQube
Входной псевдоним: sqProjectVersion. string. Необязательный элемент. Используйте при sqAnalysisEnabled = true.

Указывает версию проекта SonarQube, например sonar.projectVersion.


sonarQubeSpecifyDB - Версия сервера SonarQube ниже 5.2
Входной псевдоним: sqDbDetailsRequired. boolean. Необязательный элемент. Используйте при sqAnalysisEnabled = true. Значение по умолчанию: false.

При использовании сервера SonarQube 5.1 или более поздней версии необходимо указать сведения о подключении к базе данных.


sonarQubeDBUrl - Строка подключения к базе данных
Входной псевдоним: sqDbUrl. string. Необязательный элемент. Используйте при sqDbDetailsRequired = true.

Используется только для сервера SonarQube версии 5.1 и более ранней версии.
Задает параметр подключения к базе данных (например, sonar.jdbc.url или jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


sonarQubeDBUsername - Имя пользователя базы данных
Входной псевдоним: sqDbUsername. string. Необязательный элемент. Используйте при sqDbDetailsRequired = true.

Используется только для сервера SonarQube версии 5.1 и более ранней версии.
Указывает имя пользователя базы данных (например, sonar.jdbc.username).


sonarQubeDBPassword - Пароль пользователя базы данных
Входной псевдоним: sqDbPassword. string. Необязательный элемент. Используйте при sqDbDetailsRequired = true.

Используется только для сервера SonarQube версии 5.1 и более ранней версии.
Указывает пароль для пользователя базы данных (например, sonar.jdbc.password).


sonarQubeIncludeFullReport - Включить полный аналитический отчет в сводку по сборке (SQ 5.3+)
Входной псевдоним: sqAnalysisIncludeFullReport. boolean. Необязательный элемент. Используйте при sqAnalysisEnabled = true. Значение по умолчанию: true.

Этот параметр отложит сборку до завершения анализа SonarQube.


sonarQubeFailWhenQualityGateFails - Сбой сборки при сбое шлюза качества (SQ 5.3+)
Входной псевдоним: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Необязательный элемент. Используйте при sqAnalysisEnabled = true.

Этот параметр доступен только при использовании сервера SonarQube версии 5.3 или более поздней версии. Вызывает задержки, так как сборка должна ожидать завершения анализа SonarQube. Дополнительные сведения о качестве ворот SonarQube.


checkStyleRunAnalysis - Запуск Checkstyle
Входной псевдоним: checkstyleAnalysisEnabled. boolean. Значение по умолчанию: false.

Запускает средство Checkstyle с проверками По умолчанию. Результаты передаются в виде артефактов сборки.


pmdRunAnalysis - Запуск PMD
Входной псевдоним: pmdAnalysisEnabled. boolean. Значение по умолчанию: false.

Использует средство статического анализа PMD для поиска ошибок в коде. Результаты передаются в виде артефактов сборки.


findBugsRunAnalysis - Запуск FindBugs
Входной псевдоним: findbugsAnalysisEnabled. boolean. Значение по умолчанию: false.

Использует средство статического анализа FindBugs для поиска ошибок в коде. Результаты передаются в виде артефактов сборки.


Параметры управления задачами

Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Локальные агенты должны иметь возможности , соответствующие следующим требованиям для выполнения заданий, использующих эту задачу: maven
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 1.89.0 или более поздней версии
Категория задач Сборка

См. также раздел