複数のアプリケーションサーバーを用意して負荷分散をやろうと思いました。それで、それぞれに対して別々にdeployしたいなーと思いました。
今回やるのはAWS上のEC2の2台に対してそれぞれ別々にdeployします。 ここでやるのは、productionとstagingをそれぞれdeployするのではなくあくまでどちらもproductionにdeployするということです。
今回利用したのはこちらです。
普通にcapistranoの設定をした後に
gem 'capistrano-multiconfig', require: false
をGemfileに加えて、
Capfileの中のcapistrano/setup
をcapistrano/multiconfig
に変えれば準備オーケーです。
require: false
入れないとうまくいかなかったです。
あとは以下のようなファイルを用意します。app1、app2のところは好きな名前で大丈夫です。production.rbをそれぞれに用意します。
/config/deploy/app1/production.rb /config/deploy/app2/production.rb
あとは
$ bundle exec cap app1:production deploy
のようにコマンドを打つといい感じにdeploy出来ます。
このやり方の記事があまりなかったのですが、あまりこういうことってしないもんなのでしょうか?