问题描述
在我们的流水线中,开发团队会在他们自己的测试环境中进行多次发布。当他们满意时,他们会为测试队列中的发布排队。这表示我们的QA团队已经准备好开始他们的测试。QA批准了排队的构建,触发了将构件部署到他们的环境的自动化过程。
接下来,QA进行测试并提出了出现的错误的工作项。然后,开发团队进行代码更改并重复这个循环,直到QA批准一个发布。然后,发布将进入第三方合规性测试,然后打包到远程设备上。
我们希望在开发团队尚未排队构建时,防止QA团队部署到测试环境。然而,我们希望我们的QA能够重新部署开发团队之前排队的任何构建,而不需要开发团队重新排队构建。
这一切都在VSTS发布环境中进行。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
您可以在开发环境中添加一个后部署批准,由开发团队批准。然后,您可以在QA环境中添加一个前部署批准,由QA团队批准。
在开发团队批准开发环境的后部署批准后,将自动触发QA环境的发布。但在QA团队批准前部署批准之前,不会部署到QA环境。
此外,QA团队可以通过返回到发布并点击重新部署,随时重新发布到QA环境中的任何先前发布。
方案2
使用脚本或工具来管理部署的流程可能会增加复杂性,并且需要确保各个环境之间的依赖关系正确设置。
另一种方法是编写脚本或使用工具来控制部署的流程。您可以使用VSTS的API或其他第三方工具来自定义部署的逻辑和流程。
例如,您可以编写一个脚本,该脚本在开发团队批准后自动触发QA环境的发布。这样,QA团队就不需要手动部署,而是通过脚本自动触发部署。
请注意,这种方法可能需要更多的开发和维护工作,并且需要确保各个环境之间的依赖关系正确设置。
以上是两种解决方案,您可以根据您的具体需求选择适合您的方法。