練習 - 從 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 物件,其中包含您的 tenantIdsubscriptionIdclientIdclientSecret 和一些其他屬性,例如下列項目。

{
    "clientId": "<GUID>",
    "clientSecret": "<GUID>",
    "subscriptionId": "<GUID>",
    "tenantId": "<GUID>",
    (...)
}

請記下此物件,因為您需要將其新增至 GitHub 祕密。

建立 GitHub 祕密

在您的 GitHub 存放庫中,導覽至 [設定] > [祕密] > [動作]。 建立稱為 AZURE_CREDENTIALS 的新祕密,並貼上您從上一個步驟取得的整個 JSON 物件。

針對具有 AZURE_RG 這類名稱的資源群組名稱以及訂用帳戶的名稱,建立另一個祕密。

GitHub 祕密建立和管理頁面的螢幕擷取畫面。

建立 GitHub 動作

  1. 首先,導覽至您的存放庫,然後選取 [動作] 功能表。 然後,設定工作流程,以在您的存放庫中建立空的工作流程。 如果您想要,可以將檔案重新命名為不同的名稱。

    GitHub 新檔案建立、編輯和預覽的螢幕擷取畫面。

  2. 將檔案的內容取代為下列程式碼片段:

    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 檔案。

  3. 選取 [開始認可],然後在快顯對話方塊中輸入標題和描述。 然後選取 [直接認可至主要分支],接著選取 [認可新檔案]

    GitHub 將新檔案認可至主分支的螢幕擷取畫面。

  4. 瀏覽到 [動作] 索引標籤,然後選取應該正在執行的新建立動作。

    GitHub 動作執行和部署的螢幕擷取畫面。

  5. 監視狀態,並在工作完成時,檢查 Azure 入口網站以查看是否正在建立儲存體帳戶。

    GitHub 動作成功執行作業的螢幕擷取畫面。