練習 - 從 GitHub 工作流程部署 Bicep 檔案
GitHub Actions 本質上與 Azure Pipelines 類似。 其提供自動化軟體開發和部署的方式。 在本練習中,您將了解如何使用 GitHub Action 來部署 Bicep 檔案。
必要條件
- 您將需要可在這裡免費建立 (英文) 的 GitHub 帳戶。
- 您也需要 GitHub 存放庫,才能儲存稍早在練習 - 建立 Bicep 範本中建立的 Bicep 檔案和工作流程。 建立 GitHub 存放庫之後,請將 Bicep 檔案推送至其中。
- 若要部署至 Azure,需要存取 Azure 訂用帳戶,而您可在這裡免費建立訂用帳戶。
在 Azure 中建立服務主體
若要將資源部署至 Azure,您需要建立 GitHub 可使用的服務主體。 因此,請在 Azure 入口網站中開啟終端機或使用 Cloud Shell,然後輸入下列命令:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
注意
請別忘記將訂用帳戶識別碼取代為您的訂用帳戶識別碼。
作業成功時,應該會輸出 JSON 物件,其中包含您的 tenantId
、subscriptionId
、clientId
、clientSecret
和一些其他屬性,例如下列項目。
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
請記下此物件,因為您需要將其新增至 GitHub 祕密。
建立 GitHub 祕密
在您的 GitHub 存放庫中,導覽至 [設定] > [祕密] > [動作]。 建立稱為 AZURE_CREDENTIALS
的新祕密,並貼上您從上一個步驟取得的整個 JSON 物件。
針對具有 AZURE_RG
這類名稱的資源群組名稱以及訂用帳戶的名稱,建立另一個祕密。
建立 GitHub 動作
首先,導覽至您的存放庫,然後選取 [動作] 功能表。 然後,設定工作流程,以在您的存放庫中建立空的工作流程。 如果您想要,可以將檔案重新命名為不同的名稱。
將檔案的內容取代為下列程式碼片段:
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 Bicep file - name: deploy uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: storagePrefix=stg failOnStdErr: false
請隨意將儲存體帳戶前置詞取代為您自己的儲存體帳戶前置詞。
注意
工作流程的第一個部分會定義觸發程序與其名稱。 其餘部分會定義工作,並使用一些工作來簽出程式碼、登入 Azure,以及部署 Bicep 檔案。
選取 [開始認可],然後在快顯對話方塊中輸入標題和描述。 然後選取 [直接認可至主要分支],接著選取 [認可新檔案]。
瀏覽到 [動作] 索引標籤,然後選取應該正在執行的新建立動作。
監視狀態,並在工作完成時,檢查 Azure 入口網站以查看是否正在建立儲存體帳戶。