簡體   English   中英

Azure Devops 管道僅在合並時觸發

[英]Azure Devops pipelines to trigger ONLY on Merge

我正在尋找一種僅在成功(或嘗試)拉取請求合並時觸發 Azure 管道的方法。

我現在有:

trigger:
 branches:
  include:
    - DEV

steps:
- script: FOO

但這每次 DEV 分支發生變化時都會運行,我想避免這種情況。

此外,我希望程序化響應不會每次都通過 UI。

我正在尋找一種僅在成功(或嘗試)拉取請求合並時觸發 Azure 管道的方法。

目前沒有這種開箱即用的方式來實現這一點。

我們只能在目標分支上設置 CI 觸發器,但我們可以為管道設置條件以避免構建任何任務:

and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))

如果DEV分支發生變化,並且條件會避免發生變化。

注意:上述方式會觸發管道,但不會執行任何任務。

如果您甚至不希望觸發管道。 您可以使用 powershall 任務添加新管道以調用 REST API 以觸發上述管道並將條件設置為 powershell 任務。

這樣,管道只會在提交來自 PR 時觸發。

您設置的觸發器是 CI 觸發器,只要目標分支有新的提交,它就會起作用。

目前,當拉取請求完成時,沒有一個可以工作的觸發器。

最接近您需要的功能是PR 觸發器和構建驗證分支策略 創建拉取請求或更改請求時,它們將起作用。

如果您使用的是Azure Repos Git ,請使用分支策略進行構建驗證 如果您使用GitHubBitbucket 可以,請使用pr 觸發器 單擊文檔以獲取詳細信息。

此外,您可以使用分支策略來防止直接提交。 當您設置任何類型的分支策略時,只有具有“繞過策略”權限的用戶才能直接提交到分支。 其余用戶必須通過拉取請求提交分支。

如何創建分支策略: 分支策略和設置

如何設置“繞過策略”權限: 設置 Git 存儲庫權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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