我有一个厨师脚本,可以建立我们的团队工作者。
如果有一个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
答案 0 :(得分:1)
你可以做一个ps然后grep代理名称(如果你有一个共同的模式)。如果您找到任何匹配的代理,您可以全部杀死它们(pkill -9 -f
您还可以修改脚本以仅显示未运行的代理,并省略已运行的代理(这取决于您希望厨师脚本完全按照您的要求执行)