2016-03-03 1 views
0

J'essaye de configurer un nouveau projet de rails pour avoir trois environnements: staging, test et production. Je veux héberger sur Heroku, et utiliser GitHub pour le contrôle de la source. Le flux de travail de base que je veux est:Comment configurer plusieurs environnements de rails

1) sur un environnement Développer locale

2) Pousser à la branche de mise en scène sur GitHub, le coup d'envoi d'une construction sur la mise en scène serveur .

3) Fusionner la mise en scène dans le test sur GitHub en commençant d'abord par mes tests puis en me basant sur le serveur de test s'ils réussissent.

4) Fusionner le test en production pour lancer une build du serveur de production. Je possède également le domaine que je veux utiliser et je veux que les serveurs reflètent cela. Je voudrais donc que mon application de production soit sur example.com, alors que mon serveur de test serait test.example.com et mon serveur de transfert serait staging.example.com.

Est-ce que quelqu'un sait comment je pourrais mettre tout ça à un niveau élevé? Je sais que c'est beaucoup de choses avec potentiellement plusieurs façons de le faire.

Répondre

0

Je fais quelque chose de similaire (ish). Mon flux de travail est (à peu près):

  1. Développer le test local
  2. sur (unité d'intégration) locale
  3. git push à la mise en scène sur Heroku (staging-example.herokuapp.com)
  4. test sur mise en scène (intégration uniquement)
  5. git push à GitHub qui déclenche une auto déploiement à la production sur Heroku (example.com)

quelques notes:

  • Je ne suis pas sûr qu'Heroku supporte le genre de «fusion» entre les environnements que votre question implique. Théoriquement, je crois que c'est ce à quoi servent les pipelines. Mais, comme je suis sûr que vous avez lu here, les pipelines ne peuvent pas bien jouer avec RoR.

  • J'ai configuré mes applications en tant que https. Je ne veux pas traiter de la configuration de https pour mes applications de mise en scène, donc j'utilise simplement app-name.herokuapp.com qui est gratuit et facile.

Je vais ajouter à si je pense à autre chose.