【发布时间】:2023-12-15 05:39:01
【问题描述】:
我有 20 台服务器担任“网络”角色。我有一项任务只需要在其中一个上执行,因为更改会影响共享存储。我目前的解决方案是解决这个问题(如下)。寻找更好的方法,我没有大量的 ruby 或 cap 经验。
task :checkout_project_properties do
num_runs = 0
on roles(:web), in: :sequence do
if num_runs > 0
abort('Only running on one server. Exiting')
end
execute("checkout-project-properties #{uc_stage} #{repo} #{branch}")
num_runs += 1
end
end
【问题讨论】: