共用方式為


在 Azure Pipelines 中建置多個分支

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

使用 Azure Pipelines,您可以建立觸發器,以在每次新的提交和拉取請求時建置專案到您的存放庫。 在本文中,您將瞭解如何啟用持續整合,併為您的存放庫設定多個分支組建。

先決條件

  • Azure DevOps 組織和專案。 建立組織專案,如果您尚未這樣做。

  • 運行中的管線。 依照 建立第一個管線 中的指示來建立管線。

啟用主題分支的 CI 觸發器

使用 Git 時,從主要分支建立暫存分支以利簡化工作流程是常見的作法。 這些分支通常稱為主題或功能分支,可用來隔離您的工作。 在此工作流程中,您會建立專用於特定功能或 Bug 修正的分支,並在完成之後,先將程式代碼合併回 main 分支,再刪除主題分支。

如果您的 YAML 檔案中未明確指定任何觸發程式,對任何分支所做的任何變更都會觸發執行。 若要新增 主要 分支和任何 功能/ 分支的觸發程式,請在 YAML 檔案中包含下列代碼段。 這將確保對這些分支做出的任何修改都會自動觸發管線運行。

trigger:
- main
- feature/*

TFS 尚無法使用 YAML 組建。

根據所建置的分支自定義建置工作

主要分支通常負責產生可部署的成品,例如二進位檔。 對於短期功能分支,不需要投入時間來建立和儲存這些成品。 在 Azure Pipelines 中,您可以實作自定義條件,以確保特定工作只會在主要分支上執行。

編輯主要分支中的azure-pipelines.yml檔案,並將條件新增至所需的工作。 例如,下列代碼段會將條件新增至 發佈管線成品工作

- task: PublishPipelineArtifact@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))

TFS 尚無法使用 YAML 組建。

驗證提取要求

若要確保分支保護,您可以利用要求成功建置的政策,來確保在合併拉取請求之前已成功建置。 使用 Azure Pipelines 時,您可以彈性地設定新成功組建的需求,以便將變更合併至主要分支等重要分支。

GitHub 存放庫

如果您未在 YAML 檔案中明確定義 pr 觸發條件,則預設情況下會為所有分支啟用拉取請求的建置。 不過,您可以靈活地指定拉取請求構建的目標分支。 例如,如果您想要針對目標為main分支和以feature/開頭的分支的拉取請求專門執行組建,您可以指定以下設定:

pr:
- main
- feature/*

TFS 尚無法使用 YAML 組建。

Azure Repos 存放庫

  1. 登入您的 Azure DevOps 組織,然後流覽至您的專案。

  2. 選取 存放庫,然後選取 分支

  3. 選取分支名稱右側的省略號圖示,然後選取 [分支原則]。

  4. 在 [ 建置驗證 ] 功能表下,選取 [+ 符號] 以新增組建原則。

  5. 從下拉選單中選取您的建置管線,並確保觸發條件設定為自動,以及原則要求設定為必要。

  6. 輸入描述性 顯示名稱 以描述原則。

  7. 選取 [儲存 ] 以建立並啟用原則。 選取畫面左上方的 [儲存變更 ] 以儲存變更。

顯示如何新增組建原則的螢幕快照。

  1. 若要測試原則,請流覽至 Azure DevOps 入口網站中的 Repos>提取要求

  2. 選取 [新增提取要求 ],並確定您的主題分支已設定為合併到您的主要分支,然後選取 [ 建立]。

  3. 在您的畫面上,您可以看到目前正在執行的政策。

  4. 選取 原則名稱 以檢查組建。 如果組建成功,您的提取要求將會合併。 如果組建失敗,合併將會遭到封鎖。

備註

Azure Pipelines 不再支持個別管線保留原則。 我們建議使用專案層級保留規則。