你当前正在访问 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 计划。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 了解并满足 Azure 市场中企业计划的要求部分。
- Azure CLI 版本 2.45.0 或更高版本。
- Git。
- jq
- Azure Spring Apps 企业计划扩展。 使用以下命令删除以前的版本,并安装最新的企业计划扩展。 如果以前安装了
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 上的 fitness store 示例。 将示例分叉,打开 GitHub 存储库页,然后选择“设置”选项卡。打开“机密”菜单,然后选择“添加新机密”,如以下屏幕截图所示。
将机密名称设置为
AZURE_CREDENTIALS
,并将其值设置为在标题“设置 GitHub 存储库并进行身份验证”下找到的 JSON 字符串。将以下机密添加到 GitHub Actions:
TF_PROJECT_NAME
:使用所选的值。 此值将是 Terraform Project 的名称。AZURE_LOCATION
:将在其中创建资源的 Azure 区域。OIDC_JWK_SET_URI
:使用快速入门:为使用 Azure Spring Apps Enterprise 计划的应用程序配置单一登录中定义的JWK_SET_URI
。OIDC_CLIENT_ID
:使用快速入门:为使用 Azure Spring Apps Enterprise 计划的应用程序配置单一登录中定义的CLIENT_ID
。OIDC_CLIENT_SECRET
:使用快速入门:为使用 Azure Spring Apps Enterprise 计划的应用程序配置单一登录中定义的CLIENT_SECRET
。OIDC_ISSUER_URI
:使用快速入门:为使用 Azure Spring Apps Enterprise 计划的应用程序配置单一登录中定义的ISSUER_URI
。
使用以下值将机密
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 ..."
后续步骤
继续学习以下任一可选快速入门: