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


Краткое руководство. Автоматизация развертываний

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к:❌ Basic/Standard ✔️ Enterprise

В этом кратком руководстве показано, как автоматизировать развертывание в плане Azure Spring Apps Enterprise с помощью GitHub Actions и Terraform.

Необходимые компоненты

Настройка репозитория GitHub и проверка подлинности

Для автоматизации, связанной с примером приложения, требуется учетная запись хранения для поддержания состояния Terraform. Ниже показано, как создать учетную запись хранения для использования с GitHub Actions и Terraform.

  1. Используйте следующую команду, чтобы создать новую группу ресурсов для хранения учетной записи хранения:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Чтобы создать учетную запись хранения, используйте следующую команду:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Используйте следующую команду, чтобы создать контейнер хранилища в учетной записи хранения:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Чтобы получить учетные данные 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>",
        ...
    }
    
  5. В этом примере используется пример фитнес-магазина на сайте GitHub. Вилку примера откройте страницу репозитория GitHub и откройте вкладку "Параметры". Откройте меню "Секреты", а затем нажмите кнопку "Добавить новый секрет", как показано на следующем снимке экрана.

    Снимок экрана: параметры GitHub Добавить новый секрет.

  6. Задайте имя AZURE_CREDENTIALS секрета и задайте его значение в строке JSON, найденной в заголовке "Настройка репозитория GitHub" и аутентификации.

    Снимок экрана: параметры GitHub Set secret data.

  7. Добавьте следующие секреты в GitHub Actions:

  8. Добавьте секрет 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 в репозитории. Рабочий процесс подготовки подготавливает все ресурсы, необходимые для запуска примера приложения. На следующем снимка экрана показан пример выполнения:

Снимок экрана: GitHub с выходными данными рабочего процесса подготовки.

Каждое приложение имеет рабочий процесс развертывания, который будет повторно развертывать приложение при внесении изменений в это приложение. На следующем снимка экрана показан пример выходных данных из службы каталога:

Снимок экрана: GitHub с выходными данными рабочего процесса развертывания каталога.

Рабочий процесс очистки можно запустить вручную, чтобы удалить все ресурсы, созданные рабочим процессом provision . На следующем сниме экрана показаны выходные данные:

Снимок экрана: GitHub с выходными данными рабочего процесса очистки.

Очистка ресурсов

Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять. Удалите ненужную группу ресурсов. Ресурсы в ней будут также удалены. Чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

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

Перейдите к любому из следующих необязательных кратких руководств: