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 или более поздней версии |
Категория задач | Сборка |