azure-devops - 自动化多仓库 CD 管道中的部署前审批
问题描述
对不起,很长的帖子。
我有一个 Git 多仓库环境。每个 repo 代表一个项目。每个 repo 都有自己的 CI 和 CD 管道。从主题分支拉取请求合并代码以开发行。在开发分支中,触发 CD 并使用新构建的工件更新 DEV 服务器。当开发人员在 DEV 上执行和验证他们的工作时,另一个服务器 QA 会使用相同的工件进行更新。这是 CD 流水线的第二阶段。
在定制的敏捷流程中,用户故事工作项类型的部分流程如下:
已部署 --> 待审核 --> 由 QA 审核
新添加的代码通过Task工作项提交和推送。因此,当任务处于关闭状态时,这意味着拉取请求已完成,代码从主题分支合并到开发分支。
任务链接到用户故事(任务是子任务)。
例如,一个用户故事(故事#A)链接到 2 个任务(任务 1 和 2)。每个任务都与一个项目(项目 1 和 2)相关。
当 Task 1 的 pull request 完成后,project 1 的 CI/CD 被触发,代码部署在 DEV 服务器上。任务 1 的状态为已关闭,但故事 #A 的状态仍为活动,因为任务 2 尚未关闭。
当 Task 2 的 pull request 完成后,项目 2 的 CI/CD 被触发,代码部署在 DEV 服务器上。由于任务 1 和 2 已关闭,任务 2 的状态以及故事 #1 的状态更改为已部署。
上述逻辑由我编写的 PowerShell 脚本处理,该脚本在每个项目的 CD 管道中执行。
我的问题是如何在任务 2 完成后为每个项目 A 和 B 触发 CD 管道阶段 QA 的部署?最简单的解决方案是在每个管道的每个 QA 阶段之前添加部署前批准,但考虑到每天创建和完成数百个任务,这是一个漫长的手动过程。
提前致谢。
解决方案
推荐阅读
- c++ - make: *** 没有规则来制作目标 'generic64/libkeccak.a'
- ruby-on-rails - ActiveStorage:旧网址仍然请求弃用:variation_key 中的combine_options
- c++ - 表格元素之间的偏移
- phpmyadmin - 使用 PHP 5.6 在 ubuntu 20 中安装 phpmyadmin
- java - 如何使用 KeyCloak 限制对路由的访问
- google-chrome - 使用 HTTP/2 设置 Quart 服务器
- reactjs - tailwind.js 文件中的 Microsoft JScript 编译错误 800A0404
- enterprise-architect - 如何使用已有的刻板印象创建自定义工具箱?
- java - XML Jackson 与 Kotlin 中非真正嵌套的 XML 绑定
- wordpress - 在 Wordpress 更新后使用 Wpbakery 进行编辑不起作用