Краткое руководство. Автоматизация развертываний
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к:❌ Basic/Standard ✔️ Enterprise
В этом кратком руководстве показано, как автоматизировать развертывание в плане Azure Spring Apps Enterprise с помощью GitHub Actions и Terraform.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Изучите и выполните раздел "Требования" плана Enterprise в Azure Marketplace.
- Azure CLI версии 2.45.0 или более поздней.
- Git.
- jq
- Расширение плана Azure Spring Apps Enterprise. Используйте следующую команду, чтобы удалить предыдущие версии и установить последнее расширение плана Enterprise. Если вы ранее установили
spring-cloud
расширение, удалите его, чтобы избежать несоответствий конфигурации и версий.az extension add --upgrade --name spring az extension remove --name spring-cloud
Настройка репозитория GitHub и проверка подлинности
Для автоматизации, связанной с примером приложения, требуется учетная запись хранения для поддержания состояния Terraform. Ниже показано, как создать учетную запись хранения для использования с GitHub Actions и Terraform.
Используйте следующую команду, чтобы создать новую группу ресурсов для хранения учетной записи хранения:
az group create \ --name <storage-resource-group> \ --location <location>
Чтобы создать учетную запись хранения, используйте следующую команду:
az storage account create \ --resource-group <storage-resource-group> \ --name <storage-account-name> \ --location <location> \ --sku Standard_RAGRS \ --kind StorageV2
Используйте следующую команду, чтобы создать контейнер хранилища в учетной записи хранения:
az storage container create \ --resource-group <storage-resource-group> \ --name terraform-state-container \ --account-name <storage-account-name> \ --auth-mode login
Чтобы получить учетные данные Azure, используйте следующие команды. Для авторизации действия входа в Azure требуются учетные данные субъекта-службы Azure.
az login az ad sp create-for-rbac \ --role contributor \ --scopes /subscriptions/<SUBSCRIPTION_ID> \ --json-auth
Команда должна выводить объект JSON:
{ "clientId": "<GUID>", "clientSecret": "<GUID>", "subscriptionId": "<GUID>", "tenantId": "<GUID>", ... }
В этом примере используется пример фитнес-магазина на сайте GitHub. Вилку примера откройте страницу репозитория GitHub и откройте вкладку "Параметры". Откройте меню "Секреты", а затем нажмите кнопку "Добавить новый секрет", как показано на следующем снимке экрана.
Задайте имя
AZURE_CREDENTIALS
секрета и задайте его значение в строке JSON, найденной в заголовке "Настройка репозитория GitHub" и аутентификации.Добавьте следующие секреты в GitHub Actions:
TF_PROJECT_NAME
: используйте значение выбранного варианта. Это значение будет именем проекта Terraform.AZURE_LOCATION
: регион Azure, в который будут созданы ресурсы.OIDC_JWK_SET_URI
: используйте определенный в краткомJWK_SET_URI
руководстве. Настройка единого входа для приложений с помощью плана Azure Spring Apps Enterprise.OIDC_CLIENT_ID
: используйте определенный в краткомCLIENT_ID
руководстве. Настройка единого входа для приложений с помощью плана Azure Spring Apps Enterprise.OIDC_CLIENT_SECRET
: используйте определенный в краткомCLIENT_SECRET
руководстве. Настройка единого входа для приложений с помощью плана Azure Spring Apps Enterprise.OIDC_ISSUER_URI
: используйте определенный в краткомISSUER_URI
руководстве. Настройка единого входа для приложений с помощью плана Azure Spring Apps Enterprise.
Добавьте секрет
TF_BACKEND_CONFIG
в GitHub Actions со следующим значением:resource_group_name = "<storage-resource-group>" storage_account_name = "<storage-account-name>" container_name = "terraform-state-container" key = "dev.terraform.tfstate"
Автоматизация с помощью GitHub Actions
Теперь вы можете запустить GitHub Actions в репозитории. Рабочий процесс подготовки подготавливает все ресурсы, необходимые для запуска примера приложения. На следующем снимка экрана показан пример выполнения:
Каждое приложение имеет рабочий процесс развертывания, который будет повторно развертывать приложение при внесении изменений в это приложение. На следующем снимка экрана показан пример выходных данных из службы каталога:
Рабочий процесс очистки можно запустить вручную, чтобы удалить все ресурсы, созданные рабочим процессом provision
. На следующем сниме экрана показаны выходные данные:
Очистка ресурсов
Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять. Удалите ненужную группу ресурсов. Ресурсы в ней будут также удалены. Чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Следующие шаги
Перейдите к любому из следующих необязательных кратких руководств: