訓練
模組
使用 GitHub 動作自動部署 JSON ARM 範本 - Training
了解如何使用 Azure PowerShell、Azure CLI 及 GitHub Actions 部署 JSON Azure Resource Manager (ARM) 範本。
GitHub Actions 為 GitHub 中的一組功能,其可在與您儲存程式碼相同的位置將您的軟體開發工作流程自動化,並針對提取要求和問題進行共同作業。
使用 [部署 Azure Resource Manager 範本動作],自動將 Azure Resource Manager 範本 (ARM 範本) 部署到 Azure。
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
GitHub 帳戶。 如果您沒有 Microsoft 帳戶,請免費註冊。
工作流程是由您存放庫內 /.github/workflows/
路徑中的 YAML (. yml) 檔案所定義的。 此定義包含組成工作流程的各種步驟與參數。
檔案內有兩個區段:
區段 | 工作 |
---|---|
驗證 | 1.產生部署認證。 |
部署 | 1.部署 Resource Manager 範本。 |
使用 Azure CLI 中的 az ad sp create-for-rbac 命令來建立服務主體。 請使用 Azure 入口網站中的 Azure Cloud Shell,或選取 [試試看] 按鈕來執行此命令。
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
參數 --json-auth
可在 Azure CLI 版本 >= 2.51.0 中使用。 此版本之前的版本會搭配取代警告使用 --sdk-auth
。
在上述範例中,將預留位置換成為您的訂用帳戶識別碼、資源群組名稱和應用程式名稱。 輸出是一個 JSON 物件,內有角色指派認證可讓您存取 App Service 應用程式,如下所示。 複製此 JSON 物件以供後續使用。
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
在 GitHub (英文) 中,前往您的存放庫。
移至導覽功能表中的 [設定]。
選取 [安全性] > [祕密和變數] > [動作]。
選取 [新增存放庫祕密]。
將得自 Azure CLI 命令的整個 JSON 輸出貼到祕密的 [值] 欄位中。 將祕密命名為 AZURE_CREDENTIALS
。
選取 [新增祕密]。
將 Resource Manager 範本新增至您的 GitHub 存放庫。 此範本會建立儲存體帳戶。
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
您可以將檔案放置於存放庫中的任何位置。 下一節的工作流程範例假設範本檔案名稱為 azuredeploy.json,且會儲存於存放庫根目錄中。
工作流程檔案必須儲存於存放庫根目錄的 .github/workflow 資料夾中。 工作流程副檔名可以是 .yml 或 .yaml。
on: [push]
name: Azure ARM
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# Checkout code
- uses: actions/checkout@main
# Log into Azure
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
# Deploy ARM template
- name: Run ARM deploy
uses: azure/arm-deploy@v1
with:
subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
resourceGroupName: ${{ secrets.AZURE_RG }}
template: ./azuredeploy.json
parameters: storageAccountType=Standard_LRS
# output containerName variable from template
- run: echo ${{ steps.deploy.outputs.containerName }}
注意
您可以改為在 ARM 部署動作中指定 JSON 格式參數檔案 (範例:.azuredeploy.parameters.json
)。
工作流程檔案的第一個區段包括:
由於工作流程會設定為透過要更新的工作流程檔案或範本檔案來觸發,因此,工作流程會在您認可變更後立即啟動。
不再需要資源群組和存放庫時,請刪除資源群組和 GitHub 存放庫,以清除您所部署的資源。
訓練
模組
使用 GitHub 動作自動部署 JSON ARM 範本 - Training
了解如何使用 Azure PowerShell、Azure CLI 及 GitHub Actions 部署 JSON Azure Resource Manager (ARM) 範本。
文件
說明如何指定是否要透過 Azure Resource Manager 使用完整或累加部署模式。
建立參數檔案 - Azure Resource Manager
建立在 Azure Resource Manager 範本部署期間傳入值的參數檔案
連結範本以進行部署 - Azure Resource Manager
描述如何使用 Azure Resource Manager 範本 (ARM 範本) 中的連結範本,建立模組化範本解決方案。 示範如何傳遞參數值、指定參數檔案,以及動態建立 URL。