如何锁定TeamCity中的“运行”按钮

时间:2011-03-25 14:51:28

标签: teamcity

我在TeamCity中构建了一个将代码部署到实时服务器的构建。作为预防措施,我想禁用该按钮“运行”可以被错误点击。所以我想要另外一级检查“我是否确定”我想点击“运行”按钮。有可能完成吗? 提前谢谢!

7 个答案:

答案 0 :(得分:16)

我认为没有办法禁用运行按钮。

我使用的方法是将一个Property传递给构建脚本,该脚本需要为脚本运行才为真,它是假的或未设置,然后构建脚本会抛出错误。然后在Properties&的构建配置中环境变量页面我将属性设置为false。现在每当我需要运行脚本时,我必须使用“运行自定义构建”按钮(运行按钮旁边的“| ...”位),然后我将值设置为true按下构建按钮。

答案 1 :(得分:5)

另一个更简单的选择是向构建中添加代理需求,以便只有生产服务器的代理可以满足它(例如env.COMPUTERNAME等于MyProductionServer01),然后禁用代理并附带有关“锁定”生产的注释建立。如果您不小心点击了“运行”按钮,这将阻止构建实际运行。

答案 2 :(得分:4)

您无法禁用运行按钮,但您可以设置权限,以便人们仍然无法查看项目(特别是运行构建角色)。

就确认而言,TeamCity没有内置任何功能来完成此任务,但我相信可以编写一个小插件来获得此类功能。

插件信息:

http://confluence.jetbrains.net/display/TCD6/Developing+TeamCity+Plugins

答案 3 :(得分:3)

实际上,除非将构建配置放在不同的项目中,否则无法隐藏“运行”按钮,该用户无权运行构建。

TeamCity问题跟踪器中有一个相关的feature request

对于请求确认,仍然没有direct support,但是由于TeamCity 7.0可能会添加一个模式为“prompt”的参数,这将导致运行自定义构建对话框在运行按钮单击时弹出。 / p>

答案 4 :(得分:1)

我们通过为用户提供双重登录来解决这个问题。普通用户没有允许运行危险项目,但如果以raise.user身份登录,他们也可以访问这些项目的运行按钮。

因此,在正常情况下,没有意外跑步的风险。

答案 5 :(得分:0)

我认为没有禁用按钮可以运行。您可以暂停构建并在要部署到活动服务器时运行它。

答案 6 :(得分:0)

不是我知道的。如果您有企业,则可以对其进行设置,以便有一个特殊帐户具有执行该构建的权限。另一种解决方法是使构建在具有受限权限等的SCM存储库中查看特定分支。通常合并到分支需要一些努力,因此它不像偶然命中运行那么容易。同时确保有人打跑不一定从行李箱或某些地方抓取最新的不稳定副本。