L'ajout d'une mise en scène de l'environnement pour le flux de travail
J'ai actuellement deux environnements dans lequel je travaille: development
localement et production
sur Heroku.
Je voudrais ajouter un staging
de l'environnement sur Heroku de voir que tout se passe comme prévu, avant de pousser l'application en ligne pour les utilisateurs. De préférence, le staging
de l'environnement devraient avoir exactement les mêmes paramètres et les données de la production
environnement.
Quelles sont les étapes nécessaires pour y parvenir?
Vous devez vous connecter pour publier un commentaire.
D'abord les prédispositions, j'aime avoir mon heroku git télécommandes mis en place comme mise en scène et la production de sorte que vous pouvez facilement utiliser la commande git push mise en scène/production de déployer à chacun d'eux. Je vais être en utilisant le programme d'installation pour expliquer comment faire une mise en scène env.
config/environments/staging.rb
qui vous permettra de copier off " config/environments/production.rb'heroku plugins:install git://github.com/ddollar/heroku-config.git
heroku config:pull --remote production
RACK_ENV=staging RAILS_ENV=staging
donc il va utiliser l'environnement de test de configuration.heroku fork -a production staging
(ceux qui sont heroku appnames vous voulez, au lieu de la production/mise en scène)Vous pouvez également lire ce tutoriel, je pense que je l'ai utilisé pour obtenir commencé avec de multiples envs sur heroku:
https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations
config:pull
n'est pas une commande heroku. Téléchargé toolbelt il y a quelques jours pour mac: heroku-toolbelt/3.2.1 (x86_64-darwin10.8.0) ruby/1.9.3J'ai trouvé le
heroku fork -a PRODUCTION_APP_NAME NEW_STAGE_APP_NAME
pour être plus rapide, la plus facile à faire... il crée la nouvelle application, des copies de tout (y compris la base de données postgres). Puis je suis allé dans et manuellement revu à la baisse les addons pour les petits plans lorsque cela a du sens (par exemple, un starter de niveau de la base de données).En fait, nous avons commencé à utiliser le relativement nouveau
heroku pipeline:promote
pour gérer automatiquement (et TRÈS rapidement) en poussant un compilé slug de mise en scène à la production. (Cela suppose que vous ayez tout env paramètres spécifiques à l'aide des paramètres ou des variables d'environnement, de sorte que le code slug est le même.)Noter que la procédure expliquée par berislavbabic n'est pas recommandé selon le guide suivant sur Heroku du site: https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations
Vous pouvez lire en détail, mais il est recommandé de conserver la mise en scène de l'environnement de même que l'environnement de production et de simplement utiliser heroku fourche pour copier de la production à la mise en scène.