Создание приложений Java

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Конвейер можно использовать для автоматического выполнения:

  • Создайте проект с помощью Maven, Gradle или Ant.
  • Выполнение тестов и средств анализа кода.
  • Опубликуйте приложение в конвейере и артефактах Azure.
  • Разверните приложение в службе приложение Azure, Функции Azure или Служба Azure Kubernetes.

Если вы работаете над проектом Android, см. статью "Сборка, тестирование и развертывание приложений Android".

Необходимые компоненты

Чтобы выполнить следующий пример, необходимо:

  • Учетная запись GitHub, в которой можно создать репозиторий. Создайте ее бесплатно.
  • Доступ к коллекции Azure DevOps Server.
  • Возможность запуска Azure Pipelines в локальных агентах Azure DevOps.
  • Проект Azure DevOps. Если у вас его нет, создайте проект .

Создание репозитория GitHub

Вилку следующего репозитория в учетную запись GitHub:

https://github.com/MicrosoftDocs/pipelines-java

Создание конвейера

  1. Войдите в свою организацию Azure DevOps и откройте нужный проект.

  2. Перейдите к конвейерам и выберите "Создать конвейер" или "Создать конвейер" при создании первого конвейера в проекте.

  3. Выполните действия мастера, выбрав GitHub в качестве расположения исходного кода. Возможно, вам придется выполнить вход в GitHub. Для этого введите учетные данные GitHub.

  4. Выберите репозиторий. Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".

  5. При отображении вкладки "Настройка конвейера " выберите Maven, Gradle или Ant в зависимости от способа сборки кода.

  6. azure-pipelines.yml Файл, содержащий определение конвейера, создается в репозитории и открывается в редакторе YAML. Конвейер можно настроить, добавив дополнительные задачи или изменив существующие задачи. Дополнительные сведения о задачах сборки см. в разделе "Сборка кода".

  7. После завершения редактирования azure-pipelines.ymlнажмите кнопку "Сохранить и запустить".

  8. Чтобы зафиксировать файл в репозитории azure-pipelines.yml , нажмите кнопку "Сохранить и снова запустить ".

Выберите задание для просмотра конвейера в действии.

  1. Перейдите в коллекцию и выберите проект.

  2. Выберите конвейеры и выберите "Создать конвейер" или "Создать конвейер" при создании первого конвейера в проекте.

  3. Выполните действия мастера, выбрав GitHub Enterprise Server в качестве расположения исходного кода.

  4. Используйте существующее подключение службы GitHub или создайте новый.

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

    1. Выберите "Подключиться к GitHub Enterprise Server".
    2. Введите URL-адрес GitHub Enterprise Server.
    3. Введите личный маркер доступа GitHub Enterprise Server. Если у вас нет личного маркера доступа, его можно создать в учетной записи GitHub Enterprise Server. Дополнительные сведения см. в статье "Создание личного маркера доступа".
  5. Выберите репозиторий. Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".

  6. При отображении вкладки "Настройка конвейера " выберите Maven, Gradle или Ant в зависимости от способа сборки кода.

  7. Файл azure-pipelines-yml , содержащий определение конвейера, создается в репозитории и открывается в редакторе YAML. Конвейер можно настроить, добавив дополнительные задачи или изменив существующие задачи. Дополнительные сведения о задачах сборки см. в разделе "Сборка кода".

  8. После завершения редактирования azure-pipelines.ymlнажмите кнопку "Сохранить и запустить".

  9. Чтобы зафиксировать файл в репозитории azure-pipelines.yml , нажмите кнопку "Сохранить и снова запустить ".

Вы можете выбрать задание для просмотра конвейера в действии.

Теперь у вас есть рабочий конвейер YAML (azure-pipelines.yml) в репозитории, который готов к настройке! Чтобы внести изменения в конвейер, выберите его на странице конвейеров и измените azure-pipelines.yml файл.

Среда сборки

Azure Pipelines можно использовать для создания приложений Java без необходимости настраивать собственную инфраструктуру. Вы можете создавать образы Windows, Linux или macOS. Размещенные корпорацией Майкрософт агенты в Azure Pipelines имеют современные JDK и другие средства для Java, предварительно установленные. Сведения о том, какие версии Java установлены, см. в разделе агентов, размещенных корпорацией Майкрософт.

Чтобы выбрать соответствующее изображение, обновите следующий фрагмент кода в azure-pipelines.yml файле.

pool:
  vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'

Полный список образов см . в размещенных майкрософт агентах .

В качестве альтернативы использованию агентов, размещенных корпорацией Майкрософт, можно настроить локальные агенты с установленным Java. Вы также можете использовать автономные агенты, чтобы сэкономить больше времени, если у вас есть большой репозиторий или выполняется добавочная сборка.

Сборки выполняются на локальном агенте. Убедитесь, что у вас есть Java и средства, необходимые для сборки с выбранным методом, установленным на узле агента.

Пул агентов и возможности агента можно выбрать в разделах "Пул агентов" и "Спецификация агента" на вкладке "Параметры" в редакторе конвейера.

Например, чтобы указать пул агентов и агент с возможностью Maven, добавьте следующий фрагмент кода в azure-pipelines.yml файл.

pool: 
  name: MyPool
  demands: maven

Сборка кода

Вы можете создать приложение Java с помощью Maven, Gradle, Ant или скрипта. В следующих разделах показано, как добавить шаг сборки в конвейер для каждого метода.

Maven

При сборке Maven в файл добавляются azure-pipelines.yml следующие задачи. Замените значения, соответствующие проекту. Дополнительные сведения о параметрах задачи см. в задаче Maven.

steps:
- task: Maven@4
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'

Для Spring Boot также можно использовать задачу Maven . Убедитесь, что значение mavenPomFile отражает путь к файлу pom.xml . Например, если вы используете пример репозитория Spring Boot, путь — complete/pom.xmlэто .

Настройка пути сборки

Измените значение, mavenPomFile если pom.xml файл не является корнем репозитория. Значение пути к файлу должно быть относительно корневого каталога репозитория, например IdentityService/pom.xml или $(system.defaultWorkingDirectory)/IdentityService/pom.xml.

Настройка целей Maven

Задайте значение целей в разделенном пробелом списке целей для выполнения Maven, напримерclean package. Дополнительные сведения о распространенных этапах и целях Java см . в документации Apache Maven.

Gradle

При сборке Gradle в файл добавляется azure-pipelines.yml следующая задача. Дополнительные сведения об этих параметрах см. в задаче Gradle .

steps:
- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Оболочка Gradle

В репозитории должен быть gradlew файл. Если у вас его нет, его можно создать, выполнив в gradle wrapper корневом каталоге проекта. Сведения о создании оболочки Gradle см. в разделе Gradle.

Выберите версию Gradle

Версия Gradle, установленная на компьютере агента, используется, если файл репозитория gradle/wrapper/gradle-wrapper.properties не имеет свойства, указывающее другую distributionUrl версию Gradle для скачивания и использования во время сборки.

Настройка пути сборки

Измените значение, workingDirectory если gradlew файл не является корнем репозитория. Значение каталога должно быть относительно корневого каталога репозитория, например IdentityService или $(system.defaultWorkingDirectory)/IdentityService.

Измените значение, gradleWrapperFile если gradlew файл не является корнем репозитория. Значение пути к файлу должно быть относительно корневого каталога репозитория, например IdentityService/gradlew или $(system.defaultWorkingDirectory)/IdentityService/gradlew.

Настройка задач Gradle

Настройте значение задач для задач, которые должны выполняться Gradle, например build или check. Дополнительные сведения о распространенных задачах подключаемого модуля Java для Gradle см . в документации по Gradle.

Ant

С помощью сборки Ant добавьте в файл следующую задачу azure-pipelines.yml . Измените значения, например путь к build.xml файлу, чтобы соответствовать конфигурации проекта. Дополнительные сведения об этих параметрах см. в задаче "Ant ". При использовании примера репозитория необходимо указать build.xml файл в репозитории.

steps:
- task: Ant@1
  inputs:
    workingDirectory: ''
    buildFile: 'build.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'

Скрипт

Чтобы создать командную строку или скрипт, добавьте в файл один из следующих фрагментов azure-pipelines.yml кода.

Встроенный скрипт

На script: шаге выполняется встроенный скрипт с помощью Bash в Linux и macOS и командной строке в Windows. Дополнительные сведения см. в задаче "Bash " или "Командная строка ".

steps:
- script: |
    echo Starting the build
    mvn package
  displayName: 'Build with Maven'

Файл скрипта

Эта задача запускает файл скрипта, который находится в репозитории. Дополнительные сведения см. в статье "Скрипт оболочки", "Пакетная служба" или "Задача PowerShell".

steps:
- task: ShellScript@2
  inputs:
    scriptPath: 'build.sh'

Следующие шаги

Выходные данные сборки можно опубликовать в конвейере. Вы можете упаковать и опубликовать приложение в пакете Maven или JAR-файле для развертывания в веб-приложении.

Дополнительные сведения о создании конвейера CI/CD для целевого объекта развертывания: