Упражнение. Развертывание примера приложения Spring Boot
В этом упражнении вы будете использовать автоматизированный рабочий процесс для создания и развертывания примера приложения Spring Boot.
Настройка действия GitHub для развертывания примера приложения
Теперь, когда вы подготовили ресурсы Azure, вы можете развернуть пример приложения Spring Boot.
Чтобы создать рабочий процесс Maven GitHub, вы будете использовать встроенное средство мастера непрерывной интеграции и непрерывной доставки (CI/CD), которое доступно в Центре развертывания на портале службы приложений Azure.
Центр развертывания службы приложений Azure автоматически создает файл рабочего процесса GitHub Actions, основанный на стеке приложений. Затем Центр развертывания фиксирует файл в репозитории GitHub в правильном каталоге. Центр развертывания также связывает действие GitHub с профилем публикации Службы приложений Azure.
На портале Azure перейдите к веб-приложению службы приложений Azure.
На левой панели разверните Развертывание и выберите Центр развертывания.
В раскрывающемся списке источника в разделе Непрерывная интеграция и развертывание (CI/CD) выберите GitHub.
Выберите GitHub Actions. (Это должно быть значение по умолчанию, но если это не так, выберите Изменить поставщика для загрузки опций поставщика.)
В разделе Параметрыв раскрывающихся списках выполните следующие действия.
a. Выберите репозиторий GitHub.
b. Для ветви выберите основной.
с. Для стека приложений выберите JAVA 8.На конечной странице просмотрите выбранные элементы и просмотрите файл рабочего процесса, который будет зафиксирован в репозитории.
Выберите Сохранить, чтобы зафиксировать файл рабочего процесса в репозитории, и сразу же начать сборку и развертывание приложения.
Заметка
Вы также можете активировать рабочий процесс GitHub Actions в репозитории, выбрав вкладку Действия, выбрав рабочий процесс сборки и развертывания, а затем выбрав задания повторного запуска.
Подтвердите сборку GitHub Actions
В репозитории GitHub перейдите на вкладку "Действия", а затем в левой части в разделе Все рабочие процессывыберите "Сборка и развертывание JAR-приложения в веб-приложении Azure".
Затем в правой таблице под Выполнение рабочего процессавыберите выполнение рабочего процесса Добавить или обновить конфигурацию рабочего процесса развертывания службы приложений.
Дождитесь завершения выполнения рабочего процесса, а затем в разделе Развернуть задание в рабочем процессе скопируйте URL-адрес в задании Развернуть, которое отображает URL-адрес веб-приложения Azure.
Наконец, откройте URL-адрес в браузере и убедитесь, что приложение Java развернуто, подключено к базе данных MySQL и возвращает данные.
Дальнейшие действия
Поздравляю! Теперь у вас есть два рабочих процесса GitHub Actions: действие подготовки и действие сборки и развертывания.
Каждый раз, когда вы вводите команду git push
для фиксации кода, запускается процесс сборки и развертывания, и ваше приложение развёртывается.
Важный
Повторное выполнение настройки вашего действия GitHub не будет повторно создавать ресурсы, если они уже существуют. Необходимо вручную удалить группу ресурсов или ресурсы, а затем повторно запустить действие GitHub.
Повторное выполнение действия в GitHub по сборке и развертыванию переустановит приложение.
При повторном создании экземпляра Службы приложений необходимо также переключиться на новый профиль публикации. Необходимо изменить только следующую строку:
publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}
Настройка Azure Pipeline для развертывания примера приложения
Как и раньше, необходимо создать Azure Pipeline для сборки и развертывания приложения.
В Azure DevOps перейдите в проект, выберите "Конвейеры" и выберите "Создать конвейер" (верхний правый угол).
Теперь вы получите четыре вкладки для настройки конвейера:
- На вкладке "Подключение" выберите "GitHub" (YAML-файл).
- На вкладке "Выбор" выберите репозиторий GitHub, содержащий ваш шаблон.
- На вкладке "Настройка" выберите "существующийфайл YAML Azure Pipelines".
- В строке пути выберите "/azuredevops/build_deploy.yml"
- Выберите Продолжить, чтобы перейти на вкладку "*Проверка" и просмотрите производственную линию перед запуском.
На экране Обзор вашего YAML-конвейера, ознакомьтесь с файлом YAML, который будет использоваться для создания вашего конвейера.
name: Build and Deploy
trigger:
- main
stages:
# Build your Spring Boot App using Maven
- stage: Build
displayName: Build stage
jobs:
- job: MavenPackageAndPublishArtifacts
displayName: Maven Package and Publish Artifacts
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Maven@3
displayName: 'Maven Package'
inputs:
mavenPomFile: 'pom.xml'
- task: CopyFiles@2
displayName: 'Copy Files to artifact staging directory'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**/target/*.?(war|jar)'
TargetFolder: $(Build.ArtifactStagingDirectory)
- upload: $(Build.ArtifactStagingDirectory)
artifact: drop
# Deploy to Azure using the AzureWebApp task using your Service Connection
- stage: Deploy
displayName: Deploy stage
dependsOn: Build
condition: succeeded()
jobs:
- deployment: DeployLinuxWebApp
displayName: Deploy Linux Web App
environment: 'production'
pool:
vmImage: 'ubuntu-latest'
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy'
inputs:
azureSubscription: $(serviceConnection)
appType: webAppLinux
appName: '$(webAppName)'
package: '$(Pipeline.Workspace)/drop/**/target/*.?(war|jar)'
Рассмотрим некоторые поля, которые мы используем в конфигурации "сборки":
- azureSubscription: ваша подписка Azure
- appType: ваш тип веб-приложения
- appName: имя существующей службы приложений
- пакет: путь к файлу пакета или папке, содержащей содержимое службы приложений.
Добавление переменных сборки
Как и в нашем конвейере подготовки, перед сохранением и запуском конвейера сборки и развертывания необходимо добавить переменные конвейера:
- Выберите "переменные" в правом верхнем углу.
- Добавьте переменную с именем serviceConnection со значением, равным имени вашего подключения к службе.
- Нажмите кнопку ОК в правом нижнем углу, чтобы сохранить переменную.
- Добавьте вторую переменную с именем webAppName с именем службы приложений (то же значение, определенное в переменной Terraform "application_name").
- Нажмите кнопку ОК, чтобы сохранить переменную.
- Выберите Сохранить в правом нижнем углу, чтобы сохранить обе переменные.
Наблюдение за работой конвейера
- Выберите &&, чтобы сохранить и запустить конвейер
- Как вы делали для конвейера подготовки, трассируйте процесс сборки по каждому этапу и шагу.
- Убедитесь, что приложение Java развернуто, подключено к базе данных MySQL и возвращает данные.
Дальнейшие действия
Поздравляю! Теперь у вас есть два рабочих процесса Azure Pipeline: конвейер подготовки и конвейер сборки и развертывания.
Каждый раз, когда вы вводите команду git push
для фиксации кода в основной ветви , запускается конвейер сборки и развертывания, и приложение развертывается.
Важный
Повторное выполнение конвейера подготовки не будет повторно создавать ресурсы, если они уже существуют. Вам нужно будет вручную удалить свою группу ресурсов или ресурсы, а затем повторно запустить Pipeline. Дополнительные сведения о том, как лучше достичь этого в рабочей среде, см. в разделе "Сводка".
Повторный запуск конвейера сборки и развертывания заменит ваше приложение.
Следующий урок — это проверка знаний, чтобы узнать, что вы узнали в этом модуле.