在 Azure Pipelines 中建置多個分支
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 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 觸發程式,預設會為所有分支啟用提取要求組建。 不過,您可以彈性地指定提取要求組建的目標分支。 例如,如果您想要針對以功能/開始的主要分支和分支為目標的提取要求獨佔執行組建,您可以指定下列組態:
pr:
- main
- feature/*
TFS 尚無法使用 YAML 組建。
Azure Repos 存放庫
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [存放庫 ],然後選取 [ 分支]。
選取分支名稱右側的省略號圖示,然後選取 [分支原則]。
在 [ 建置驗證 ] 功能表下,選取 [+ 符號] 以新增組建原則。
從下拉功能表中選取您的 [建置管線 ], 並確定 [觸發 程式] 設定為 [自動],並將 [ 原則需求 ] 設定為 [必要]。
輸入描述性 顯示名稱 以描述原則。
選取 [ 儲存 ] 以建立並啟用原則。 選取 畫面左上方的 [儲存變更 ] 以儲存變更。
若要測試原則,請流覽至 Azure DevOps 入口網站中的 Repos>提取要求。
選取 [ 新增提取要求 ],並確定您的主題分支已設定為合併到您的主要分支,然後選取 [ 建立]。
在您的畫面上,您可以看到目前正在執行的原則。
選取原則 名稱 以檢查組建。 如果組建成功,您的提取要求將會合併。 如果組建失敗,合併將會遭到封鎖。
注意
Azure Pipelines 不再支持個別管線保留原則。 我們建議使用專案層級保留規則。