これはおそらく初心者のルビーの質問です。複数の異なるホストにデプロイする必要があるライブラリとアプリがいくつかあります。すべてのアプリとライブラリは、ホスト名、データベース サーバー/ユーザー/パスなど、これらのホストのいくつかの共通設定を共有します。
私の目標は、次のようなことをすることです:
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 ファイルにこのファイルを「含め」、必要に応じて「共通の」構成パラメーターを上書きします。任意の提案をいただければ幸いです。私はいくつかの異なることを試しましたが、それらすべてのキャップからエラーが発生します。
編集:私は試しました
require 'my_module'
しかし、未定義のタスク オブジェクトに関するエラーが表示されます。