Teamcity:确定工人是否正在工作

时间:2014-08-21 16:37:57

标签: teamcity chef

我有一个厨师脚本,可以建立我们的团队工作者。

如果有一个teamcity工作正在运行,我希望这个脚本取消它自己,因为这自然会很危险。

我主要寻找bash解决方案,因为teamcity并不是为与主厨合作而设计的。

此时我的代码看起来像这样。我担心如果工作已经在运行,简单地停止团队代理是危险的。

execute "Stop Teamcity Agent" do
  user "root"
  # Code that might break ongoing teamcity jobs
  command "#{home}/BuildAgent/bin/agent.sh stop"
end

# More code that could break ongoing teamcity jobs

execute "Start Teamcity Agent" do
  user "root"
  command "#{home}/BuildAgent/bin/agent.sh start"
end

1 个答案:

答案 0 :(得分:1)

你可以做一个ps然后grep代理名称(如果你有一个共同的模式)。如果您找到任何匹配的代理,您可以全部杀死它们(pkill -9 -f

您还可以修改脚本以仅显示未运行的代理,并省略已运行的代理(这取决于您希望厨师脚本完全按照您的要求执行)