簡體   English   中英

Azure DevOps 構建管道觸發拉取請求

[英]Azure DevOps Build Pipeline triggers on pull request

我有一個使用 Azure DevOps 管道的 .Net 項目。 設置是我有一個創建工件的構建管道。 然后工件會自動通過發布管道發布。 這是完美的工作。

問題是在我打開政策構建驗證后,拉取請求現在觸發構建管道,然后觸發發布管道。 所以每個拉取請求都會被發布。 構建步驟是正確的,但應該不會發布。 部署前觸發器“拉取請求部署”已禁用。

我為解決這個問題所做的是,我在創建工件的構建步驟中添加了一個條件。 所以拉取請求不會創建工件,而合並會。 這也按預期工作。 然而,版本 pipe 仍然被觸發,但這次沒有工件(管道失敗)。

TLDR:
版本 pipe 觸發拉取請求,此行為的設置已關閉。 世界末日?

我的 CI/CD 設置:

CD觸發

部署條件

您的發布會在您的任何構建和分支上觸發(PR 也有一個分支)。 您必須添加分支過濾器: 持續部署觸發器 使用主分支或任何其他限制您的過濾器。 此外,您可以定義 2 個構建定義:

  1. 無需鏈接版本即可驗證您的拉取請求的管道。
  2. 觸發發布的 CI 管道。

另外,我認為這是一個錯誤。 因為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM