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


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

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

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

Если вы работаете над проектом 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.

Шаг 2: Измените значение 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'

Файл скрипта

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

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

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

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

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