2017-10-17 19 views
0

J'ai une application Rails, et il y a une raison pour laquelle je dois déployer une application sur plusieurs hôtes/serveurs de production.Pouvons-nous déployer une application Rails sur plusieurs serveurs à la fois avec Capistrano?

Actuellement, je dois déployer une application Rails sur deux hôtes. Donc, je dois faire cap production deploy deux fois. Et je dois commenter la ligne de serveur un après l'autre.

# server 'host_1', user: 'my_user', roles: %w{app} 
server 'host_2', user: 'my_user', roles: %w{app} 

J'ai config/deploy/production.rb et config/environments/production.rb

Ruby 2.3.3 
Rails 4.2.2 
capistrano-rails 1.1.1 
+0

J'ai eu le travail dans des situations similaires, dans notre cas le problème, l'architecture de l'application ne pouvait pas gérer plusieurs entreprises. Il y avait des utilisateurs, mais chaque projet représentait une seule entreprise. À long terme, cela se traduit par le maintien de différentes machines, une pour chaque entreprise. Il est devenu coûteux et démoralisant pour l'équipe de développement. Peut-être que les contraintes budgétaires ne vous permettront pas d'avoir le degré de contrôle désiré, mais avec le temps, mieux vaut le faire dès que vous le pouvez. – cutiko

+0

@cutiko Si je ne me trompe pas, votre application est une sorte de SaaS, n'est-ce pas? –

+0

@PirungSeng c'était SaaS – cutiko

Répondre

2

Cap est un outil d'automatisation multi-serveur distant. pour atteindre votre objectif, juste garder les deux draps décommentée et vous serez en mesure de déployer sur les deux serveurs

server 'host_1', user: 'my_user', roles: %w{app} 
server 'host_2', user: 'my_user', roles: %w{app}