使用 Azure 開發者 CLI 建立 Azure DevOps CI/CD 管道

本文說明如何使用 Azure Developer CLI(azd)建立包含 Azure DevOps 管線(Azure Pipelines)的 CI/CD 管線,以建立 azd 模板。 這個管線讓你能將更新推送到程式碼庫,並自動配置你的變更部署到你的 Azure 環境。

備註

這個 azd pipeline config 指令還在測試階段。 詳情請參閱 功能版本與發布策略

先決條件

初始化範本

這個範例使用 Hello-AZD 範本,但你可以依照以下步驟處理任何包含管線定義檔案的範本(可在 .github or .azdo 資料夾中找到)。

  1. 在空目錄中,初始化範本 hello-azd

    azd init -t hello-azd
    
  2. 當提示時,輸入環境名稱(例如 hello-azd)。

設定 Azure Pipelines

備註

如果你在Windows用Azure Pipelines for Java模板,請參考 the troubleshooting guide

建立或使用 Azure Pipelines 組織

要使用 Azure Pipelines,你需要一個組織。 若您尚未擁有一個,請於https://dev.azure.com創建。

建立個人存取權杖 (PAT)

Azure 開發者 CLI 需要個人存取令牌(PAT)來設定 Azure Pipelines。 建立包含以下範圍的新 PAT

  • 代理池(讀取、管理)
  • 編譯(讀取與執行)
  • 程式代碼 (完整)
  • 專案和團隊(讀取、寫入和管理)
  • 發行(讀取、寫入、執行和管理)
  • 服務連線(讀取、查詢和管理)

設定管線

  1. 執行以下指令以配置 Azure Pipelines 專案與儲存庫,並搭配部署管線:

    azd pipeline config --provider azdo
    

    備註

    預設情況下,azd pipeline config for Azure Pipelines 會使用用戶端憑證。 目前不支援 OIDC/同盟認證。 了解更多關於 OIDC 支援的資訊。azd

  2. 回應提示:

    • 個人存取權杖 (PAT):

      • 貼上您的 PAT。

      • 或者,將 PAT 匯出為系統環境變數,以避免重複出現提示:

        export AZURE_DEVOPS_EXT_PAT=<PAT>
        
    • Azure Pipelines 組織名稱:

      • 輸入您的組織名稱。 這個值會儲存在當前環境的檔案中 .env
    • 找不到名為 「origin」 的遠端。 您要設定一個嗎?

      • 是的
    • 你想如何設定你的專案?

      • 建立新的 Azure Pipelines 專案
    • 輸入你的新Azure Pipelines專案名稱,或按 Enter 使用這個名稱:( {default name} )

      • 選擇 Enter,或建立唯一的專案名稱。
    • 你想提交並推送本地變更以啟動已配置的 CI 管線嗎?

      • 是的
  3. 請在Azure Pipelines入口網站(https://dev.azure.com)中的專案中驗證建置。

進行並推送程式碼變更

  1. /src/components/pages 目錄中,打開Home.razor

  2. Hello AZD! 標頭文字更改為 Hello, pipeline!,然後儲存檔案。

  3. 建立分支並提交您的變更。 main 分支受到保護,所以請從新分支推送變更,並在 Azure Pipelines 建立拉取請求。 拉取請求會觸發管線,並在管線失敗時阻止合併。

  4. 核准並合併提取要求,以再次啟動管線。

    截圖顯示了製作並提交變更到測試檔案所需的步驟。

  5. 在瀏覽器中,打開專案的儲存庫,查看你的提交和 Azure 管線的執行。

    GitHub 工作流程在測試更新後的截圖。

  6. 請流覽 Web 前端 URL 以檢查更新。

使用 azd 作為 Azure Pipelines 任務

azd 加入Azure Pipelines任務以安裝 azd 到你的管線中。 將以下內容新增至 .azdo/pipelines/azure-dev.yml

trigger:
  - main
  - branch

pool:
  vmImage: ubuntu-latest
  # vmImage: windows-latest

steps:
  - task: setup-azd@0
    displayName: Install azd

清理資源

當您不再需要本文中建立的 Azure 資源時,請執行:

azd down

後續步驟