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

如何锁定";“运行”;TeamCity中的按钮,teamcity,Teamcity,我在TeamCity中做了一个构建,它将代码部署到live server。作为预防措施,我想禁用按钮“运行”可能被错误点击。因此我想有一个额外的检查级别“我是否确定”我想点击“运行”按钮。有可能完成吗? 提前谢谢 我不认为运行时有禁用按钮。您可以暂停构建并在需要部署到live Server时运行它。我不知道这一点。如果您有enterprise,您可以设置它,以便有一个具有执行该构建权限的特殊帐户。另一个解决方法是使构建看起来像是SCM repo中具有受限权限的特定分支,等等。通常,合并到分支需要

我在TeamCity中做了一个构建,它将代码部署到live server。作为预防措施,我想禁用按钮“运行”可能被错误点击。因此我想有一个额外的检查级别“我是否确定”我想点击“运行”按钮。有可能完成吗?
提前谢谢

我不认为运行时有禁用按钮。您可以暂停构建并在需要部署到live Server时运行它。

我不知道这一点。如果您有enterprise,您可以设置它,以便有一个具有执行该构建权限的特殊帐户。另一个解决方法是使构建看起来像是SCM repo中具有受限权限的特定分支,等等。通常,合并到分支需要一些努力,因此不像意外运行那么容易。还可以确保点击run的人不一定会从主干或类似的地方获取最新的不稳定副本。

我认为没有办法禁用run按钮


我使用的一种方法是将一个属性传递给构建脚本,该属性必须为true,脚本才能运行,如果该属性为false或未设置,则构建脚本将抛出一个错误。然后在Properties&Environment Variables页面上的构建配置中,我将属性设置为false。现在,每当我需要运行脚本时,我都必须使用“运行自定义构建”按钮(运行按钮旁边的“
|…”
”位),然后,在点击build按钮之前,我将该值设置为true。

您不能禁用run按钮,但可以设置权限,以便人们仍然能够查看项目,而无需运行它(特别是run build角色)

就确认而言,TeamCity没有内置任何功能来实现这一点,但我相信可以编写一个小插件来获得这类功能

插件信息:


另一个更简单的选择是,向生成中添加代理要求,以便只有生产服务器的代理才能满足要求(例如env.COMPUTERNAME等于MyProductionServer01),然后禁用代理,并注明“锁定”生产生成。如果您意外单击“运行”按钮,这将阻止生成实际运行。

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

TeamCity问题跟踪程序中有一个相关的


至于请求确认,仍然没有,但由于TeamCity 7.0,用户可以添加一个带有模式“提示符”的参数,这将导致在点击运行按钮时弹出运行自定义构建对话框。

我们通过为用户提供双登录解决了这一问题。普通用户没有运行危险项目的权限,但如果以提升用户身份登录,他们也可以访问这些项目的运行按钮


因此,在正常情况下,不存在意外运行的风险。

这里的第二个好处是,我们还可以只允许高级用户运行这些关键项目。