Создание приложений 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. Создайте ее бесплатно.
- Проект Azure DevOps. Если у вас его нет, создайте проект .
- Учетная запись GitHub, в которой можно создать репозиторий. Создайте ее бесплатно.
- Доступ к коллекции Azure DevOps Server.
- Возможность запуска Azure Pipelines в локальных агентах Azure DevOps.
- Проект Azure DevOps. Если у вас его нет, создайте проект .
Создание репозитория GitHub
Вилку следующего репозитория в учетную запись GitHub:
https://github.com/MicrosoftDocs/pipelines-java
Создание конвейера
Войдите в свою организацию Azure DevOps и откройте нужный проект.
Перейдите к конвейерам и выберите "Создать конвейер" или "Создать конвейер" при создании первого конвейера в проекте.
Выполните действия мастера, выбрав GitHub в качестве расположения исходного кода. Возможно, вам придется выполнить вход в GitHub. Для этого введите учетные данные GitHub.
Выберите репозиторий. Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".
При отображении вкладки "Настройка конвейера " выберите Maven, Gradle или Ant в зависимости от способа сборки кода.
azure-pipelines.yml
Файл, содержащий определение конвейера, создается в репозитории и открывается в редакторе YAML. Конвейер можно настроить, добавив дополнительные задачи или изменив существующие задачи. Дополнительные сведения о задачах сборки см. в разделе "Сборка кода".После завершения редактирования
azure-pipelines.yml
нажмите кнопку "Сохранить и запустить".Чтобы зафиксировать файл в репозитории
azure-pipelines.yml
, нажмите кнопку "Сохранить и снова запустить ".
Выберите задание для просмотра конвейера в действии.
Перейдите в коллекцию и выберите проект.
Выберите конвейеры и выберите "Создать конвейер" или "Создать конвейер" при создании первого конвейера в проекте.
Выполните действия мастера, выбрав GitHub Enterprise Server в качестве расположения исходного кода.
Используйте существующее подключение службы GitHub или создайте новый.
Чтобы создать подключение к службе, выполните приведенные действия.
- Выберите "Подключиться к GitHub Enterprise Server".
- Введите URL-адрес GitHub Enterprise Server.
- Введите личный маркер доступа GitHub Enterprise Server. Если у вас нет личного маркера доступа, его можно создать в учетной записи GitHub Enterprise Server. Дополнительные сведения см. в статье "Создание личного маркера доступа".
Выберите репозиторий. Вы можете перенаправиться на GitHub, чтобы установить приложение Azure Pipelines. В этом случае выберите " Утвердить" и "Установить".
При отображении вкладки "Настройка конвейера " выберите Maven, Gradle или Ant в зависимости от способа сборки кода.
Файл
azure-pipelines-yml
, содержащий определение конвейера, создается в репозитории и открывается в редакторе YAML. Конвейер можно настроить, добавив дополнительные задачи или изменив существующие задачи. Дополнительные сведения о задачах сборки см. в разделе "Сборка кода".После завершения редактирования
azure-pipelines.yml
нажмите кнопку "Сохранить и запустить".Чтобы зафиксировать файл в репозитории
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 для целевого объекта развертывания: