gpt4 book ai didi

Azure Pipeline 使用 YAML 触发 Pipeline

转载 作者:行者123 更新时间:2023-12-04 15:06:01 26 4
gpt4 key购买 nike

当使用 YAML 完成另一个管道时尝试触发 Azure 管道。有documentation表明您可以添加管道资源:

resources:   # types: pipelines | builds | repositories | containers | packages
pipelines:
- pipeline: string # identifier for the pipeline resource
connection: string # service connection for pipelines from other Azure DevOps organizations
project: string # project for the source; optional for current project
source: string # source defintion of the pipeline
version: string # the pipeline run number to pick the artifact, defaults to Latest pipeline successful across all stages
branch: string # branch to pick the artiafct, optional; defaults to master branch
tags: string # picks the artifacts on from the pipeline with given tag, optional; defaults to no tags

但是,我一直无法弄清楚“来源”是什么意思。例如,我有一个名为 myproject.myprogram 的管道:

resources:
pipelines:
- pipeline: myproject.myprogram
source: XXXXXXXX

此外,还不清楚如何在此基础上构建触发器。

我知道这可以通过 Web-GUI 完成,但应该可以通过 YAML 完成。

最佳答案

用于从另一位azure官方触发一个管道docs建议以下解决方案。即使用管道触发器

resources:
pipelines:
- pipeline: RELEASE_PIPELINE # any arbitrary name
source: PIPELINE_NAME. # name of the pipeline shown on azure UI portal
trigger:
branches:
include:
- dummy_branch # name of branch on which pipeline need to trigger

但实际上发生的是,它触发了两个管道。举个例子,假设我们有两个管道 A 和 B,我们希望在 A 完成时触发 B。因此,在这种情况下,B 运行 2 次,一次是在您执行提交时(与 A 并行),第二次是在 A 完成后。

要避免此两次管道运行问题,请遵循以下解决方案

trigger: none # add this trigger value to none 
resources:
pipelines:
- pipeline: RELEASE_PIPELINE # any arbitrary name
source: PIPELINE_NAME. # name of the pipeline shown on azure UI portal
trigger:
branches:
include:
- dummy_branch # name of branch on which pipeline need to trigger

通过添加trigger:none,第二个管道将不会在开始提交时触发,仅在第一次完成其作业时触发。

希望能有所帮助。

关于Azure Pipeline 使用 YAML 触发 Pipeline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57304825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com