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


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

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

Используйте Azure Pipelines для автоматизации сборки, тестирования и развертывания приложений Java. В этой статье объясняется, как настроить конвейер для проектов Java с помощью таких средств, как Maven, Gradle или Ant. Вы также узнаете, как развернуть приложение в службах Azure, таких как Служба приложений, Функции или Kubernetes.

Использование конвейера для:

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

Предварительные условия

Продукт Требования
Azure DevOps - Проект Azure DevOps.
— способность запуска потоков на хостинговых агентах Microsoft. Вы можете приобрести параллельное задание или запросить уровень "Бесплатный".
— Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в разделе Создайте ваш первый конвейер.
Разрешения - :
     — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами.
    — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб.
Сайт GitHub — учетная запись GitHub.
- Подключение службы GitHub для авторизации Azure Pipelines.
Лазурный Подписка Azure
Продукт Требования
Azure DevOps - Проект Azure DevOps.
— Самостоятельно размещённый агент. Для создания см. раздел Самостоятельные агенты.
— Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в разделе Создайте ваш первый конвейер.
Разрешения - :
    — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами.
    — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб.
Сайт GitHub — учетная запись GitHub.
- Подключение службы GitHub для авторизации Azure Pipelines.
Лазурный Подписка Azure

Создание репозитория 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 для разработки. Агенты, размещенные компанией Microsoft в 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 добавьте в файл следующие задачи 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@3
  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 добавьте следующую задачу в файл 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'

Файл скрипта

Эта задача запускает файл скрипта, который находится в репозитории. Для получения подробной информации, см. задачу Shell Script, Batch script или PowerShell.

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

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

Опубликуйте выходные данные сборки в конвейере. Упаковайте и опубликуйте приложение в пакете Maven или JAR-файле , чтобы развернуть его в веб-приложении.

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