Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создание с помощью скрипта оболочки Gradle.
Синтаксис
# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# Advanced
#workingDirectory: # string. Alias: cwd. Working Directory.
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.
#gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/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.
#codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool = false. Class Files Directories. Default: build/classes/main/.
#codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters.
#codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
# 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. Required when sqAnalysisEnabled = true. SonarQube Project Name.
#sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key.
#sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version.
#sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
#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.
#findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
#pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
Входные данные
gradleWrapperFile
-
Упаковщик Gradle
Псевдоним ввода: wrapperScript
.
string
. Обязательное. Значение по умолчанию: gradlew
.
Указывает расположение оболочки gradlew
в репозитории, который будет использоваться для сборки. Агенты в Windows (включая агенты, размещенные Корпорацией Майкрософт), должны использовать оболочку gradlew.bat
. Агенты в Linux или macOS могут использовать скрипт оболочки gradlew
. Узнайте больше о оболочки Gradle.
параметры options
-
string
.
Задает параметры командной строки, которые будут переданы оболочке Gradle. Дополнительные сведения см. в командной строки Gradle.
tasks
-
задачи
string
. Обязательное. Значение по умолчанию: build
.
Задачи для выполнения Gradle. Список имен задач должен быть разделен пробелами и может быть взят из gradlew tasks
выдан из командной строки.
Дополнительные сведения см. в основных скриптов сборки Gradle.
workingDirectory
-
рабочий каталог
Псевдоним ввода: cwd
.
string
.
Указывает рабочий каталог для запуска сборки Gradle. Задача использует корневой каталог репозитория, если рабочий каталог не указан.
publishJUnitResults
-
Публикация в TFS/Team Services
boolean
. Значение по умолчанию: true
.
Публикует результаты теста JUnit, созданные сборкой Gradle в Azure Pipelines. Задача публикует каждый файл результатов теста, соответствующий Test Results Files
в качестве тестового запуска в Azure Pipelines.
testResultsFiles
-
файлы результатов тестирования
string
. Требуется, если publishJUnitResults = true
. Значение по умолчанию: **/build/test-results/TEST-*.xml
.
Путь к файлу для результатов теста. можно использовать подстановочные знаки . Например, **/TEST-*.xml
для всех XML-файлов, имя которых начинается с TEST-
.
testRunTitle
-
заголовок тестового запуска
string
. Необязательно. Используется при publishJUnitResults = true
.
Предоставляет имя для результатов тестового случая JUnit для этой сборки.
codeCoverageToolOption
-
Инструмент покрытия кода
Псевдоним ввода: codeCoverageTool
.
string
. Допустимые значения: None
, Cobertura
, JaCoCo
. Значение по умолчанию: None
.
Задает средство покрытия кода для определения кода, который охватывается тестовых вариантов сборки.
codeCoverageClassFilesDirectories
-
Каталоги файлов классов
Псевдоним ввода: classFilesDirectories
.
string
. Требуется, если codeCoverageTool = false
. Значение по умолчанию: build/classes/main/
.
Разделенный запятыми список каталогов, содержащих файлы классов и архивные файлы (.jar, WAR и многое другое). Покрытие кода сообщается для файлов классов в этих каталогах. Обычно задача выполняет поиск классов в разделе build/classes/java/main
(для Gradle 4+), который является каталогом классов по умолчанию для сборок Gradle.
codeCoverageClassFilter
-
Фильтры включения/исключения классов
Псевдоним ввода: classFilter
.
string
. Необязательно. Используется при codeCoverageTool != None
.
Разделенный запятыми список фильтров для включения или исключения классов из сбора покрытия кода. Например, +:com.*
,+:org.*
,-:my.app*.*
.
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
.
Предоставляет архитектуру JDK (x86 или x64).
gradleOptions
-
Задать GRADLE_OPTS
Псевдоним ввода: gradleOpts
.
string
. Значение по умолчанию: -Xmx1024m
.
Задает переменную среды GRADLE_OPTS, которая используется для отправки аргументов командной строки для запуска JVM. Флаг xmx
указывает максимальную память, доступную для JVM.
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
.
sonarQubeGradlePluginVersion
-
Версия плагина SonarQube Gradle
Псевдоним ввода: sqGradlePluginVersion
.
string
. Требуется, если sqAnalysisEnabled = true
. Значение по умолчанию: 2.0.1
.
Содержит номер версии подключаемого модуля SpotBugs Gradle.
sonarQubeSpecifyDB
-
Версия сервера SonarQube ниже 5.2
Псевдоним ввода: sqDbDetailsRequired
.
boolean
. Необязательно. Используется при sqAnalysisEnabled = true
. Значение по умолчанию: false
.
Только сервер SonarQube 5.1 и ниже. Указывает детали подключения к базе данных.
sonarQubeDBUrl
-
Строка подключения db
Псевдоним ввода: sqDbUrl
.
string
. Необязательно. Используется при sqDbDetailsRequired = true
.
Только сервер SonarQube версии 5.1 и ниже. Вводит настройку подключения к базе данных, то есть sonar.jdbc.url
. Например: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
.
sonarQubeDBUsername
-
db Имя пользователя
Псевдоним ввода: sqDbUsername
.
string
. Необязательно. Используется при sqDbDetailsRequired = true
.
Только сервер SonarQube 5.1 и ниже. Вводит имя пользователя базы данных, то есть sonar.jdbc.username
.
sonarQubeDBPassword
-
db Пароль пользователя
Псевдоним ввода: 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 с проверкой по умолчанию Sun. Результаты передаются как артефакты сборки.
findBugsRunAnalysis
-
запуск FindBugs
Псевдоним ввода: findbugsAnalysisEnabled
.
boolean
. Значение по умолчанию: false
.
Использует средство статического анализа FindBugs для поиска ошибок в коде. Результаты передаются как артефакты сборки. В Gradle 6.0 этот подключаемый модуль был удален. Вместо этого используйте подключаемый модуль SpotBugs.
pmdRunAnalysis
-
запуск PMD
Псевдоним ввода: pmdAnalysisEnabled
.
boolean
. Значение по умолчанию: false
.
Использует средство статического анализа JAVA PMD для поиска ошибок в коде. Результаты передаются как артефакты сборки.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Замечание
В Gradle@3доступна более новая версия этой задачи.
Замечание
По адресу Gradle@2 доступна более новая версия этой задачи.
Настройка анализа SonarQube была перенесена в расширения SonarQube или SonarCloud в задаче Prepare Analysis Configuration
.
Используйте эту задачу для сборки с помощью скрипта оболочки Gradle.
Как создать оболочку из проекта Gradle?
Оболочка Gradle позволяет агенту сборки скачивать и настраивать точную среду Gradle, которая проверяется в репозитории без каких-либо конфигураций программного обеспечения в самом агенте сборки, отличном от JVM.
Создайте оболочку Gradle, выполнив следующую команду из корневого каталога проекта, где находится сборка.gradle:
jamal@fabrikam> gradle wrapper
Отправьте оболочку Gradle в удаленный репозиторий.
Существует двоичный артефакт, созданный оболочкой gradle (расположен в
gradle/wrapper/gradle-wrapper.jar
). Этот двоичный файл мал и не требует обновления. Если необходимо изменить конфигурацию Gradle в агенте сборки, обновитеgradle-wrapper.properties
.Репозиторий должен выглядеть примерно так:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Как исправить время ожидания при скачивании зависимостей?
Чтобы устранить ошибки, такие как Read timed out
при скачивании зависимостей, пользователи Gradle 4.3+ могут изменить время ожидания, добавив -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
в Options
. Это увеличивает время ожидания с 10 секунд до 1 минуты.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка |
Выполняется в | Агент, DeploymentGroup |
Требования | Локальные агенты должны иметь возможности, которые соответствуют следующим требованиям требуют выполнения заданий, использующих эту задачу: java: java |
Возможности | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 1.91.0 или больше |
Категория задач | Строить |