[英]Azure DevOps Build Pipeline triggers on pull request
我有一個使用 Azure DevOps 管道的 .Net 項目。 設置是我有一個創建工件的構建管道。 然后工件會自動通過發布管道發布。 這是完美的工作。
問題是在我打開政策構建驗證后,拉取請求現在觸發構建管道,然后觸發發布管道。 所以每個拉取請求都會被發布。 構建步驟是正確的,但應該不會發布。 部署前觸發器“拉取請求部署”已禁用。
我為解決這個問題所做的是,我在創建工件的構建步驟中添加了一個條件。 所以拉取請求不會創建工件,而合並會。 這也按預期工作。 然而,版本 pipe 仍然被觸發,但這次沒有工件(管道失敗)。
TLDR:
版本 pipe 觸發拉取請求,此行為的設置已關閉。 世界末日?
我的 CI/CD 設置:
您的發布會在您的任何構建和分支上觸發(PR 也有一個分支)。 您必須添加分支過濾器: 持續部署觸發器。 使用主分支或任何其他限制您的過濾器。 此外,您可以定義 2 個構建定義:
另外,我認為這是一個錯誤。 因為 PR 觸發器未啟用。 讓我們看看開發者社區的評論: https://developercommunity.visualstudio.com/content/problem/1292039/release-pipelines-ignore-pull-request-settings.html
我們在這里所擁有的是,我們已經設置了與存儲在存儲庫中的 YAML 個文件以及源代碼相關聯的構建管道。 發布管道將其源設置為每個構建管道。
這是主構建的一部分:
trigger:
batch: false
branches:
include:
- master
這是 Pull Request Build 的一部分:
trigger: none
pr:
- master
我們為每個 Source 構建都有發布管道,僅在其中一個中啟用了 Pull Request 觸發器,但您的主工件只能有一個,因此不會發布 PR。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.