你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:自动部署

注意

从 2025 年 3 月中旬开始,基本、标准和企业计划将弃用,停用期为三年。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

从 2024 年 9 月 30 日开始,标准消耗和专用计划将弃用,六个月后将完全关闭。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:❌ 基本版/标准版 ✔️ 企业版

此快速入门介绍如何使用 GitHub Actions 和 Terraform 自动部署到 Azure Spring Apps Enterprise 计划。

先决条件

设置 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 上的 fitness store 示例。 将示例分叉,打开 GitHub 存储库页,然后选择“设置”选项卡。打开“机密”菜单,然后选择“添加新机密”,如以下屏幕截图所示。

    显示 GitHub 设置添加新机密的屏幕截图。

  6. 将机密名称设置为 AZURE_CREDENTIALS,并将其值设置为在标题“设置 GitHub 存储库并进行身份验证”下找到的 JSON 字符串。

    显示 GitHub 设置设置机密数据的屏幕截图。

  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 ..."

后续步骤

继续学习以下任一可选快速入门: