Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
使用 Azure Pipelines,您可以建立觸發器,以在每次新的提交和拉取請求時建置專案到您的存放庫。 在本文中,您將瞭解如何啟用持續整合,併為您的存放庫設定多個分支組建。
先決條件
啟用主題分支的 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 存放庫
登入您的 Azure DevOps 組織,然後流覽至您的專案。
選取 存放庫,然後選取 分支。
選取分支名稱右側的省略號圖示,然後選取 [分支原則]。
在 [ 建置驗證 ] 功能表下,選取 [+ 符號] 以新增組建原則。
從下拉選單中選取您的建置管線,並確保觸發條件設定為自動,以及原則要求設定為必要。
輸入描述性 顯示名稱 以描述原則。
選取 [儲存 ] 以建立並啟用原則。 選取畫面左上方的 [儲存變更 ] 以儲存變更。
若要測試原則,請流覽至 Azure DevOps 入口網站中的 Repos>提取要求。
選取 [新增提取要求 ],並確定您的主題分支已設定為合併到您的主要分支,然後選取 [ 建立]。
在您的畫面上,您可以看到目前正在執行的政策。
選取 原則名稱 以檢查組建。 如果組建成功,您的提取要求將會合併。 如果組建失敗,合併將會遭到封鎖。
備註
Azure Pipelines 不再支持個別管線保留原則。 我們建議使用專案層級保留規則。