快速入門:自動化部署
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於: ❎基本/標準 ✅ 企業
本快速入門說明如何使用 GitHub Actions 和 Terraform 將部署自動化至 Azure Spring Apps 企業版方案。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 了解並滿足 Azure Marketplace 中企業方案的需求一節。
- Azure CLI 2.45.0 版或更高版本。
- Git。
- jq
- Azure Spring 應用程式企業方案延伸模組。 使用下列命令來移除舊版並安裝最新的企業方案延伸模組。 如果您先前已安裝
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
並將其值設定為您在設定 GitHub 存放庫並驗證標題底下找到的 JSON 字串。將下列秘密新增至 GitHub Actions:
TF_PROJECT_NAME
:使用您選擇的值。 此值將會是 Terraform 項目的名稱。AZURE_LOCATION
:您的資源將會在 中建立的 Azure 區域。OIDC_JWK_SET_URI
:使用JWK_SET_URI
快速入門中 定義的 :使用 Azure Spring Apps 企業版方案設定應用程式的單一登錄。OIDC_CLIENT_ID
:使用CLIENT_ID
快速入門中 定義的 :使用 Azure Spring Apps 企業版方案設定應用程式的單一登錄。OIDC_CLIENT_SECRET
:使用CLIENT_SECRET
快速入門中 定義的 :使用 Azure Spring Apps 企業版方案設定應用程式的單一登錄。OIDC_ISSUER_URI
:使用ISSUER_URI
快速入門中 定義的 :使用 Azure Spring Apps 企業版方案設定應用程式的單一登錄。
使用下列值將秘密
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 ..."
下一步
繼續進行下列任一選擇性快速入門: