出于合规性原因,我必须确保某个发布模板的发布只能由专用用户发起。在我的情况下,有权启动发布的用户是服务用户,是自动化变更管理过程的一部分,而能够准备和定义部署步骤的用户是另一个用户,真实用户。
当我可以分离这些角色时,我能够以某种方式配置发布管理器。用户A可以管理服务器,创建环境,发布路径以及发布模板和设置安全性。用户B可以使用用户A创建的对象在发布模板中定义发布步骤。由于用户B无权以这种方式管理安全性,因此可以确保发布仅由用户C执行。
然而,问题出现在"可以从构建中触发释放"功能在发布模板中打开。当它被转动并且" Release Build"在构建模板的Process部分中,参数为True,然后忽略发布模板的安全设置,即使没有任何权限,任何拥有发布管理用户的人都可以从构建中启动发布。
对我来说,当构建代理从构建启动发布时,看起来没有执行权限检查,除了检查已启动构建的用户是否也存在于发布管理中。
我正在寻找一种方法来确保只有专用用户才能启动发布,而其他用户有权定义同一发布模板的发布步骤。我可能会错过配置的东西,但此时似乎无法在发布管理中以这种方式设置它。如果有人已设法设置它,我将不胜感激。
答案 0 :(得分:0)
是的,当然可以。如果您的构建与启用了该选项的发布模板相关联,那么您实际上就是说“我希望每次构建完成后都会发布此构建”。对于有时被释放的构建而言有时是没有意义的,因为这违反了“一致性”的devop黄金法则。
我认为这是一个奇怪的要求,因为您已经能够在批准后支持您的版本。
一些选项:
PreApproval -> Dev -> QA -> Staging -> Prod
。
将PreApproval中的所有步骤设置为“Automated”,然后添加一个批准者,该批准者可以批准要部署到dev的构建。