это, наверное, новенький рубиновый вопрос. У меня есть несколько библиотек и приложений, которые мне нужно развернуть на нескольких разных хостах. Все приложения и библиотеки будут иметь общие настройки для этих хостов, например имя хоста, сервер базы данных / пользователь / пароль и т. д.
Моя цель - сделать что-то вроде:
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'
Но я получаю сообщение об ошибке с неопределенным объектом задачи.