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


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

Выполните сборку с помощью скрипта-оболочки 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.

Путь к файлу для результатов теста. Можно использовать подстановочные знаки. Например, для всех XML-файлов, **/TEST-*.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, которая используется для отправки аргументов командной строки для запуска виртуальной машины Java. Флаг xmx указывает максимальный объем памяти, доступный для виртуальной машины Java.


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 - Строка подключения к базе данных
Входной псевдоним: 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 с проверками По умолчанию. Результаты передаются в виде артефактов сборки.


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

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


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

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


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

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

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

Нет.

Remarks

Примечание

На Gradle@3 доступна более новая версия этой задачи.

Примечание

На Gradle@2 доступна более новая версия этой задачи.

Конфигурация анализа SonarQube была перемещена в расширения SonarQube или SonarCloud в задаче Prepare Analysis Configuration.

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

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

Программа-оболочка Gradle позволяет агенту сборки скачивать и настраивать точную среду Gradle, которая будет возвращена в репозиторий без настройки программного обеспечения в самом агенте сборки, отличном от виртуальной машины Java.

  1. Создайте оболочку Gradle, выполнив следующую команду из корневого каталога проекта, в котором находится build.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 минуты.

Требования

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