Я готовлю capistrano для развертывания приложения ruby on rails в AWS.Серверы приложений будут находиться за хостом bastian.
У меня есть два сервера server1 и server2.Я хочу развернуть и запустить puma, nginx на сервере server1, а также запустить resque рабочих и планировщики resque на server2.Я знаю о ролях, и вот моя конфигурация до сих пор:
# deploy/production.rb
web_instances = [web-instance-ip]
worker_instances = [worker-instance-ip]
role :app, web_instances
role :web, web_instances
role :worker, worker_instances
set :deploy_user, ENV['DEPLOY_USER'] || 'ubuntu'
set :branch, 'master'
set :ssh_options, {
forward_agent: true,
keys: ENV['SSH_KEY_PATH'],
proxy: Net::SSH::Proxy::Command.new("ssh -i '#{ENV['SSH_KEY_PATH']}' #{fetch(:deploy_user)}@#{ENV['BASTIAN_PUBLIC_IP']} -W %h:%p"),
}
set :puma_role, :app
Я не уверен, что я должен делать или как писать задачи, убедившись, что запуск пумы, перезапуск выполняется только на server1 и resque,Resque Scheduler Start Restart и т. д. обрабатывается только на server2.В то время как общие задачи, такие как извлечение последнего кода, установка комплекта и т. Д., Выполняются для каждого экземпляра?