Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止teamcity取消生成_Teamcity_Teamcity 9.0 - Fatal编程技术网

防止teamcity取消生成

防止teamcity取消生成,teamcity,teamcity-9.0,Teamcity,Teamcity 9.0,我们有一个数据库测试器构建,它首先克隆一个数据库,然后再运行测试。我们希望防止用户停止/取消此生成。问题是,如果在克隆过程中手动取消/停止生成,则会以错误的方式离开数据库,需要DBA干预 有没有办法防止构建步骤被取消/停止?我认为在TeamCity中您无法做到这一点。您最好将克隆过程与TeamCity分离,这样取消TeamCity中的构建就不会影响克隆过程。(例如,使用Powershell构建步骤调用启动进程myCloningProcess.exe-Wait) 当然,还有一个更普遍的问题:如何防

我们有一个数据库测试器构建,它首先克隆一个数据库,然后再运行测试。我们希望防止用户停止/取消此生成。问题是,如果在克隆过程中手动取消/停止生成,则会以错误的方式离开数据库,需要DBA干预


有没有办法防止构建步骤被取消/停止?

我认为在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。