這可能是一個新手ruby問題。我有幾個庫和應用程序需要部署到幾個不同的主機。所有的應用程序和庫都將共享這些主機的一些常用設置 - 例如主機名,數據庫服務器/用戶/密碼等Capistrano:如何將常見設置包含在多個項目的deploy.rb文件中
我的目標是做這樣的事情:
cap host1 stage deploy
cap host2 stage deploy
cap host1 prod deploy
# ...
我的問題是你如何在你所有的deploy.rb文件包括這些常見的設置?更具體地講,我想創建一個的RB文件,我可以包括有一些常用設置和一些主機特定的任務定義:
set :use_sudo, false
# set some other options
task :host1 do
role :app, "host1.example.com"
role :web, "host1.example.com"
role :db, "host1.example.com", :primary => true
set :rodb_host, "dbhost"
set :rodb_user, "user"
set :rodb_pass, "pass"
set :rodb_name, "db"
end
task :host2 do
#...
end
deploy.task :carsala do
transaction do
setup
update_code
symlink
end
end
然後「包括」在我所有的deploy.rb文件,其中該文件我定義stage,prod等,並根據需要覆蓋任何「通用」配置參數。任何建議,將不勝感激。我嘗試了一些不同的東西,但是我從所有人都得到了錯誤。
編輯:我已經試過
require 'my_module'
但我得到的錯誤抱怨未定義的任務對象。
我試着這,但我得到錯誤抱怨任務對象沒有被定義。你在'my_extension'頂部需要什麼嗎? – drsnyder 2008-10-30 18:15:53