如何使用针对不同分支的多个工件在 DevOps 的单个阶段上运行?
Posted
技术标签:
【中文标题】如何使用针对不同分支的多个工件在 DevOps 的单个阶段上运行?【英文标题】:How to use multiple artifacts targeting different branches to run on single stage in DevOps? 【发布时间】:2020-12-11 12:46:03 【问题描述】:如何使用针对不同分支的多个工件在 devops 的单个阶段上运行? 如果工件过滤器包含在特定分支中,那么它是否会起作用,以便只拾取那些工件? 使用单阶段的原因是因为任务跨分支是通用的
同样,构建分支为 B2 时的 _CI_QA 工件。
因此,所有工件过滤器都在单个预部署条件下添加,并且只需要选择与构建分支匹配的那些过滤器
【问题讨论】:
我不确定你的意思。您想同时使用来自不同分支的工件吗?你有一些代码吗?可以分享一下吗? 是的,我想同时使用来自不同分支的工件 抱歉,确实如此。相同的工件,但来自不同的分支?还是来自不同分支的不同工件?工件是由一个管道生成的,对吧? 是的,来自不同分支的不同工件。每个工件仅由一个管道生成 你使用经典版本对吗? 【参考方案1】:您需要的是两个实际链接到同一管道/构建的工件定义
第一:
第二个:
然后按每个工件过滤工件(步骤可选 - 如果您想要自动发布)
然后在工作定义上,您需要定义您想要获得的工件:
在这里你定义应该采用什么版本的工件:
另一种做法其实是使用下载神器步骤:
【讨论】:
我有链接到不同构建的工件。例如,针对 Dev 分支的 _CI_Dev 和针对 QA 分支的 _CI_QA。我将这两个工件都添加到管道中的工件列表中。在这种情况下,我是否需要像 Dev 和 QA 这样的多个阶段来运行基于工件过滤器的工件特定的管道?另外,我只需要为 QA 分支添加门和批准以上是关于如何使用针对不同分支的多个工件在 DevOps 的单个阶段上运行?的主要内容,如果未能解决你的问题,请参考以下文章
Azure DevOps(内部部署) - Minimatch模式下载工件的多个部分