上下文
我正在使用Azure Pipelines将多个应用程序部署到单个AKS集群中的应用程序专用命名空间。
问题
由于我的ADO环境被分配给一个AKS集群,并且当我为该环境添加Approvals and cheks
时,那么每个指向该环境的Deployment
都需要批准。当您在每个环境中部署多个应用程序时,这是有问题的,因为所有部署都将受到此策略的保护。
问题
除了为每个应用程序创建环境审批之外。有没有一种方法可以在ADO环境中设置审批粒度?
简短回答
"否";。在写这个答案的时候,DevOps中的环境只支持一个批准——也许它在未来会改变。
解决方案
有一个解决此问题的方法。您可以为单个service connection
设置审批。
当您将应用程序部署到单个命名空间时,会自动为该命名空间创建服务连接。它可能看起来像这个<aks-cluster-name>-<k8s-namespace>-<long-intiger-id>
,例如my-aks-dev-we-sandbox-1654784698962。你只需要在ADO's Project settings
中找到这个服务连接,点击它,然后点击三个点(位于右上角),选择Approvals and checks
。通过这种方式,您将能够控制谁应该进行审批。