我们有一个数据库测试程序构建,它首先在运行测试之前克隆数据库。我们希望防止此构建被用户停止/取消。问题是,如果在克隆过程中手动取消/停止构建,则会以错误的方式离开DB并需要DBA干预。
有没有办法防止构建步骤被取消/停止?
答案 0 :(得分:1)
我不认为你可以在TeamCity中做到这一点。您可以做的最好的事情是从TeamCity中分离克隆过程,因此取消TeamCity中的构建不会触及克隆过程。 (例如,使用一个调用Start-Process myCloningProcess.exe -Wait
的Powershell构建步骤。)
当然,还有一个更普遍的问题:如何防止克隆过程被杀死(例如,由TeamCity代理人工作,而不是通过TeamCity GUI)?你不能。因此,上述解决方案仅处理TeamCity背景下的风险;它不会解决这个更普遍的问题。
答案 1 :(得分:0)
您可以使用Roles and Permissions对其进行归档。该权限称为"停止构建/从队列中删除"。因此,您可以在TeamCity中创建角色,而无需停止构建并为数据库克隆创建单独的项目。然后为数据库克隆项目授予具有此角色的用户/组。