Azure DevOps - 用户作为批准者触发发布

Azure DevOps - User triggering release as approver

我们在 Azure DevOps 中有一个 CI/CD 设置,它通过主分支上的推送触发。是否可以让批准者成为导致构建触发的用户?

这背后的想法是我们的​​团队中有很多开发人员,所以我希望推动更改的特定开发人员决定他们是否要部署更改,而不是专门的批准者。

简答,没有。

上下文: 这与良好做法背道而驰,这就是为什么有一个选项要求 else 成为批准人,而不是进行更改的人。您不希望做出更改的人成为批准更改的人,因为这样可以让一个人偷偷进行更改。这意味着错误可能会被漏掉,甚至是故意恶意更改。

最佳做法是要求更改人以外的其他人来审阅和批准更改。

虽然我完全同意@Daniel Mann 为什么不应该这样做,但我看到它发生的方式是团队被指定为批准请求的接收者,user requesting a release or deployment should not approve it 复选框保持未选中状态。

然后为了避免批准请求的收件箱噪音,关闭团队关于待定发布批准的通知。


编辑

如果您必须只指定一个人作为有效用户来批准部署更改,您也可以这样做,但效果不佳。您可以每人 "stage"。这些阶段将在部署前条件下使用工件过滤器,以仅向该阶段所针对的人员发送批准电子邮件。


批准后进入实际部署阶段进行工作。

现在您需要在构建中添加用户名或其他内容作为标签。我不确定是否有 tool/task 作为构建管道的一部分来执行此操作以保持其连续性,但我知道您可以从 REST api 中弄清楚如何执行此操作。也许您需要创建一个运行 PS 脚本的预批准阶段以访问 REST api 并使用 requestedBy 属性 的值标记提供的构建构建。

再说一次,看看做这个有多难?这可能意味着您没有遵循最佳实践。 "Make the right things easy and the wrong things hard."-未知