防止teamcity取消生成
我们有一个数据库测试器构建,它首先克隆一个数据库,然后再运行测试。我们希望防止用户停止/取消此生成。问题是,如果在克隆过程中手动取消/停止生成,则会以错误的方式离开数据库,需要DBA干预防止teamcity取消生成,teamcity,teamcity-9.0,Teamcity,Teamcity 9.0,我们有一个数据库测试器构建,它首先克隆一个数据库,然后再运行测试。我们希望防止用户停止/取消此生成。问题是,如果在克隆过程中手动取消/停止生成,则会以错误的方式离开数据库,需要DBA干预 有没有办法防止构建步骤被取消/停止?我认为在TeamCity中您无法做到这一点。您最好将克隆过程与TeamCity分离,这样取消TeamCity中的构建就不会影响克隆过程。(例如,使用Powershell构建步骤调用启动进程myCloningProcess.exe-Wait) 当然,还有一个更普遍的问题:如何防
有没有办法防止构建步骤被取消/停止?我认为在TeamCity中您无法做到这一点。您最好将克隆过程与TeamCity分离,这样取消TeamCity中的构建就不会影响克隆过程。(例如,使用Powershell构建步骤调用
启动进程myCloningProcess.exe-Wait
)
当然,还有一个更普遍的问题:如何防止克隆过程完全被终止(例如,由在TeamCity代理上工作的人员,而不是通过TeamCity GUI)?你不能。因此,上述解决方案将只处理TeamCity背景下的风险;它无法解决这个更普遍的问题。您可以使用。名为“停止生成/从队列中删除”的权限。因此,您可以在TeamCity中创建一个角色,而无需获得停止构建和创建单独的数据库克隆项目的权限。然后为数据库克隆项目授予用户/组此角色。谢谢,设置生成执行步骤设置“始终,即使发出生成停止命令”是否有效?我的意思是,即使发出停止,该步骤仍应继续执行?我认为该设置仅适用于取消步骤后的步骤。假设您的构建配置有三个步骤,A、B、C。您的构建启动,当A运行时,您取消它。TeamCity将杀死A,默认情况下跳过B和C,但由于C具有“始终,即使发出了构建停止命令”设置,因此它仍然运行C。如果C执行一些重要的清理,它将非常有用。总之,这样的构建将运行一半的a和C。