如何确保在Visual Studio Team Services中审核部署?

时间:2017-08-31 15:25:53

标签: deployment azure-devops azure-pipelines azure-pipelines-release-pipeline

必须审核企业环境中的部署,这意味着必须事先批准生产环境的部署,并且必须获得批准的证据。 被记录下来。

我正在寻找一种解决方案,以确保在Visual Studio Team Services中审核每个部署,而不会扭曲工具的功能和灵活性。

理想的解决方案让专职项目团队成员使用必要的任务和设置定义发布或构建模板。但是,在可以执行构建或发布模板之前,验证会运行。验证可以检查批准,定义的目标环境和其他一些标志,这些标志可以帮助确定部署是预先批准还是必须被拒绝。

VSTS的构建和发布模板安全方案具有一定的灵活性,但它们无法提供足够的控制。实际上,由于部署任务可用于构建模板,因此发布管理批准功能无法保证部署已获得批准,因为它可以从简单的构建计划执行。

一种方法是,如果服务挂钩可以同步。在每次构建和发布之前将触发事件,并且在事件有效负载中将提供所有细节。分析将在有效负载上执行,并且根据结果,它将使构建或释放进入或停止。但是,服务挂钩是异步的,因此不能用于此目的。

其他虽然不太灵活的选项是我可以在每次执行的代理上安装任务,并且可以在执行之前验证构建或部署。这似乎不可能,因为任务必须由团队定义,因此不可靠。

任何有关如何实现基本上可以分析并在必要时阻止部署或构建的控件的建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

部署完成后,您似乎想要检查。

实际上,您可以指定在部署环境后进行审核的部署后批准者

或者您可以通过在上一个环境的末尾添加 Powershell任务来获取信息(审批者,环境等)。

对于powershell,你可以在下面做一些事情:

1。REST API获取当前版本的详细信息:

"environments": []

2. 搜索您需要的信息:

通过搜索关键字exit 1获取部署前批准者。获取环境信息,您可以在local_test_2

中找到详细信息

3. 如果您希望在您设置的条件不符合时部署失败,您可以将批准者/环境信息与您设置的值进行比较,如果不相等,则以{{结尾1}}。