作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 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
最佳答案
我假设您指的是您的生产配置,有这么多 Web 服务器。在这种情况下,您的 config/deploy/production.rb
可能包含很多这样的行:
server 'web_1', roles: %w(web)
server 'web_2', roles: %w(web)
server 'web_3', roles: %w(web)
...
server 'web_1', roles: %w(web), primary: true
server 'web_2', roles: %w(web)
server 'web_3', roles: %w(web)
...
task :checkout_project_properties do
on primary(:web) do
execute("checkout-project-properties #{uc_stage} #{repo} #{branch}")
end
end
关于卡皮斯特拉诺 3 : Run task only on a single server from a pool of servers assigned a role,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095865/
我正在尝试为我的应用执行“部署:冷”。 git repo 是本地的我的部署服务器(即我只有一台服务器用于所有内容,而且我不要在 github 上托管我的代码)。 这是成绩单(出于隐私考虑,将我的应用名
我是一名优秀的程序员,十分优秀!