我有以下场景:
updates branch develop -> triggers DEV-CI -> triggers Release X
updates branch master -> triggers QA-CI -> triggers Release X
updates branch release -> triggers Prod-CI -> triggers Release X
在“Release X”中,我添加了所有 3 个工件(dev、qa 和 prod)和 3 个单独的阶段(dev、qa 和 prod)。我的目标是,如果分支开发更新,则发布到 DEV,如果主分支更新,则发布到 QA,依此类推,但发布管道不会启动,因为它需要所有 3 个工件都可用。
仅当我只有一对一时才有效,如下所示:
如果我添加其他工件,即使在每个特定工件的预部署条件中添加工件过滤器后,发布也不会开始,直到所有 3 个工件都可用。
是否可以执行我在这里尝试的操作,或者我必须为每个 CI 创建一个版本?
谢谢!
编辑
李回答后我又试了一次,但没有成功。即使只运行了 QA CI,这两个环境都会被触发。
这里 QA 版本正在下载两个工件,即使有一个特定的工件过滤器:
这是生成该结果的设置:
我最近进行了测试,这些工件过滤器与存储库分支紧密耦合,这意味着如果您有来自同一分支的 2 个工件,那么它将触发您在工件过滤中拥有该分支引用的所有阶段。
您必须使用 GATES 来进行此类工件过滤。