这可能是一个新手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