[英]Azure Devops Trigger a Pipeline from Multiple Stages of Other Pipeline
我正在嘗試在開發管道期間觸發的 Azure DevOps 中集成 QA 管道。 開發管道有 4 個環境可供構建部署到,其中每個環境都是開發管道中的一個階段
目前,我可以使用 4 個單獨的 QA 管道在每個管道中使用與此類似的語法來觸發每個環境的 QA 構建:
resources:
pipelines:
- pipeline: Dev_Env_1
source: Dev
trigger:
stages:
- Env_1
我的目標是只有一個 QA 管道,在完成每個階段時由開發管道多次觸發。 感覺像這樣的 yml 文件中的語法應該可以工作:
resources:
pipelines:
- pipeline: Dev_Env_1
source: Dev
trigger:
stages:
- Env_1
- pipeline: Dev_Env_2
source: Dev
trigger:
stages:
- Env_2
但是,這僅在 Env_1 完成后觸發,此時我想觸發構建以完成 Dev 管道中的 Env_1 和 Env_2 階段。
有沒有辦法在不徹底改變任何一條管道當前工作方式的情況下做到這一點?
以下步驟可以幫助您實現您的要求。
例如,
開發管道
#Dev Pipeline
trigger:
- none
pool:
vmImage: 'windows-latest'
stages:
- stage: Env_1
displayName: Env_1
jobs:
- job:
steps:
- task: CmdLine@2
inputs:
script: |
echo Stage1
- stage: Env_2
displayName: Env_2
jobs:
- job:
steps:
- task: CmdLine@2
inputs:
script: |
echo Stage2
- stage: Env_3
displayName: Env_3
jobs:
- job:
steps:
- task: CmdLine@2
inputs:
script: |
echo Stage3
- stage: Env_4
displayName: Env_4
jobs:
- job:
steps:
- task: CmdLine@2
inputs:
script: |
echo Stage4
1、創建一個傳入的webhook服務連接,以及一個由Dev Pipeline階段完成和成功觸發的傳入服務webhook。
傳入服務掛鈎 URI: https://dev.azure.com/<ADO Organization>/_apis/public/distributedtask/webhooks/<WebHook Name>?api-version=6.0-preview
官方文件:
之后,編寫 QA 管道,如下所示:
質量檢查管道
# QA pipeline
trigger:
- none
resources:
webhooks:
- webhook: bowmantest
connection: BowmanIncommingWebHook
pool:
vmImage: 'windows-latest'
steps:
- task: CmdLine@2
inputs:
script: |
echo QA pipeline
一切正常:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.