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


Gradle@3 - Задача Gradle v3

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

Синтаксис

# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to Azure Pipelines. 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.
    codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. 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.
    #codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.17' | '1.11' | '1.10' | '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.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
    #sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
    #sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
    #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.
    #spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
    #spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
    #spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.
# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to Azure Pipelines. 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.
    codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. 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.
    #codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '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.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
    #sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
    #sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
    #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.
    #spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
    #spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
    #spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.

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

gradleWrapperFile - оболочка Gradle
Псевдоним ввода: wrapperScript. string. Обязательное. Значение по умолчанию: gradlew.

Указывает расположение оболочки gradlew в репозитории, который будет использоваться для сборки. Агенты в Windows (включая агенты, размещенные Корпорацией Майкрософт), должны использовать оболочку gradlew.bat. Агенты в Linux или macOS могут использовать скрипт оболочки gradlew. Узнайте больше о оболочки Gradle. Если оболочка Gradle отсутствует в корневом каталоге, укажите путь к скрипту оболочки. Например: subdir/gradlew.


рабочего каталога
Псевдоним ввода: cwd. string.

Указывает рабочий каталог для запуска сборки Gradle. Задача использует корневой каталог репозитория, если рабочий каталог не указан.


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

Задает параметры командной строки, которые будут переданы оболочке Gradle. Дополнительные сведения см. в командной строки Gradle.


tasks - задачи
string. Обязательное. Значение по умолчанию: build.

Задачи для выполнения Gradle. Список имен задач должен быть разделен пробелами и может быть взят из gradlew tasks выдан из командной строки.

Дополнительные сведения см. в основных скриптов сборки Gradle.


publishJUnitResults - публикации в Azure Pipelines
boolean. Значение по умолчанию: true.

Публикует результаты теста JUnit, созданные сборкой Gradle в Azure Pipelines. Задача публикует каждый файл результатов теста, соответствующий Test Results Files в качестве тестового запуска в Azure Pipelines.


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

Путь к файлу для результатов теста. можно использовать подстановочные знаки . Например, **/TEST-*.xml для всех XML-файлов, имя которых начинается с TEST-.


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

Предоставляет имя для результатов тестового случая JUnit для этой сборки.


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

Задает средство покрытия кода для определения кода, который охватывается тестовых вариантов сборки.


каталоги файлов классов codeCoverageClassFilesDirectories -
Псевдоним ввода: classFilesDirectories. string. Требуется, если codeCoverageTool != None. Значение по умолчанию: 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.

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


codeCoverageGradle5xOrHigher - версии Gradle >= 5.x
Псевдоним ввода: gradle5xOrHigher. boolean. Необязательно. Используется при codeCoverageTool = JaCoCo. Значение по умолчанию: true.

Установите значение true, если версия gradle >= 5.x.


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

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


версии JDK
Псевдоним ввода: jdkVersion. string. Необязательно. Используется при javaHomeSelection = JDKVersion. Допустимые значения: default, 1.17 (JDK 17), 1.11 (JDK 11), 1.10 (JDK 10 (вне поддержки)), 1.9 (JDK 9 (вне поддержки)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (вне поддержки)). Значение по умолчанию: default.

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


версии JDK
Псевдоним ввода: jdkVersion. string. Необязательно. Используется при javaHomeSelection = JDKVersion. Допустимые значения: default, 1.11 (JDK 11), 1.10 (JDK 10 (вне поддержки)), 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 заданному пути.


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

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


gradleOptions - Задать GRADLE_OPTS
Псевдоним ввода: gradleOpts. string. Значение по умолчанию: -Xmx1024m.

Задает переменную среды GRADLE_OPTS, которая используется для отправки аргументов командной строки для запуска JVM. Флаг xmx указывает максимальную память, доступную для JVM.


sonarQubeRunAnalysis - выполнение анализа SonarQube или SonarCloud
Псевдоним ввода: sqAnalysisEnabled. boolean. Значение по умолчанию: false.

Этот параметр изменился с версии 1 задачи Gradle, чтобы использовать расширения SonarQube и SonarCloud Marketplace. Включите этот параметр для выполнения анализа SonarQube или SonarCloud после выполнения задач в поле задач. Необходимо также добавить задачу подготовки конфигурации анализа из одного из расширений в конвейер сборки перед этой задачей Gradle.


sqGradlePluginVersionChoice - сканер SonarQube для версии Gradle
string. Требуется, если sqAnalysisEnabled = true. Допустимые значения: specify (укажите номер версии), build (используйте подключаемый модуль, примененный в сборке.gradle). Значение по умолчанию: specify.

Указывает используемую версию подключаемого модуля SonarQube Gradle. Объявите версию в файле конфигурации Gradle или укажите версию с этой строкой.


sonarQubeGradlePluginVersion - сканер SonarQube для версии подключаемого модуля Gradle
Псевдоним ввода: sqGradlePluginVersion. string. Требуется, если sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Значение по умолчанию: 2.6.1.

Содержит номер версии подключа емого модуля SonarQube Gradle.


checkStyleRunAnalysis - запуск checkstyle
Псевдоним ввода: checkstyleAnalysisEnabled. boolean. Значение по умолчанию: false.

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


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

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


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

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


spotBugsAnalysis - запуска SpotBugs
Псевдоним ввода: spotBugsAnalysisEnabled. boolean. Значение по умолчанию: false.

Выполняется spotBugs при true. Этот подключаемый модуль работает с Gradle версии 5.6 или более поздней версии. Дополнительные сведения о с помощью подключаемого модуля SpotBugs Gradle. Подключаемый модуль может работать неожиданно или вообще не работать с более ранней версией Gradle.


версии подключаемого модуля Spotbugs spotBugsGradlePluginVersionChoice -
string. Требуется, если spotBugsAnalysisEnabled = true. Допустимые значения: specify (укажите номер версии), build (используйте подключаемый модуль, примененный в сборке.gradle). Значение по умолчанию: specify.

Указывает используемую версию подключаемого модуля SpotBugs Gradle. Версию можно объявить в файле конфигурации Gradle или ее можно указать в этой строке.


номер версии spotbugsGradlePluginVersion -
string. Требуется, если spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Значение по умолчанию: 4.7.0.

Содержит номер версии подключаемого модуля SpotBugs Gradle.


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

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

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

Нет.

Замечания

Настройка анализа SonarQube была перенесена в расширения SonarQube или SonarCloud в задаче Prepare Analysis Configuration.

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

Как создать оболочку из проекта Gradle?

Оболочка Gradle позволяет агенту сборки скачивать и настраивать точную среду Gradle, которая проверяется в репозитории без каких-либо конфигураций программного обеспечения в самом агенте сборки, отличном от JVM.

  1. Создайте оболочку Gradle, выполнив следующую команду из корневого каталога проекта, где находится сборка.gradle:

    jamal@fabrikam> gradle wrapper

  2. Отправьте оболочку 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 минуты.

Примеры

создание приложения Java с помощью Gradle

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка
Выполняется в Агент, DeploymentGroup
Требования Отсутствует
Возможности Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 1.91.0 или больше
Категория задач Строить