1
我有很多服務器運行相同的代碼,配置不同的配置,我想用Capistrano部署。服務器配置是這樣的:部署期間Capistrano服務器的具體細節
role(:server) { ["127.0.0.1", {:name => "mymachine1"}] }
role(:server) { ["127.0.0.2", {:name => "mymachine2"}] }
role(:server) { ["127.0.0.3", {:name => "mymachine3"}] }
的問題是想創造取決於服務器名稱例如一個符號鏈接
task :setup_all_server do
find_servers(:roles => "server").each do |server|
server_name = server.options[:name]
run "mkdir -p #{deploy_to}/releases"
run "ln -s #{deploy_to}/current/scripts /home/#{user}/scripts"
run "ln -s #{deploy_to}/current/configuration/#{server_name} /home/#{user}/configuration"
end
end
的設置和部署適用於所有服務器不錯,但有沒有,如果我想只部署或設置一個服務器根據該名稱的簡單方法?喜歡的東西
cap deploy [:name=>"mymachine1337"]
或者類似的東西: How to deploy to a single specific server using Capistrano
但與過濾器:命名沒有鬆動的server.options [:名字]運行安裝任務時。