tag rails link_to content_tag content ruby-on-rails ruby heroku ruby-on-rails-3.2 staging

ruby on rails - rails - Agregar un entorno de ensayo al flujo de trabajo



content_tag link_to rails (3)

Encontré la heroku fork -a PRODUCTION_APP_NAME NEW_STAGE_APP_NAME como una forma más rápida y fácil de hacerlo ... crea la nueva aplicación, copia todo (incluida la base de datos de postgres). Luego entré y actualicé manualmente los complementos a planes más pequeños cuando tenía sentido (por ejemplo, una base de datos de nivel inicial).

De hecho, comenzamos a utilizar el heroku pipeline:promote relativamente nuevo heroku pipeline:promote para administrar automáticamente (y MUY rápidamente) empujando un slug compilado desde la puesta en escena a la producción. (Eso supone que tiene alguna configuración específica de env a través de la configuración o las variables de entorno, por lo que la bala de código es la misma).

Actualmente tengo dos entornos en los que trabajo: development local y production en Heroku.

Me gustaría agregar un entorno de prueba en Heroku para ver que todo salga como se esperaba antes de enviar la aplicación en vivo a los usuarios. Preferiblemente, el entorno de staging debe tener exactamente la misma configuración y datos que el entorno de production .

¿Cuáles son los pasos necesarios para lograr lo anterior?


Primero, las predisposiciones, me gusta tener mis controles remotos heroku git configurados como puesta en escena y producción para que pueda utilizar fácilmente la puesta en escena / producción git push para implementar en cada uno de ellos. Usaré esa configuración para explicar cómo hacer un env de puesta en escena.

  1. cree una config/environments/staging.rb que copiará de `config / environment / production.rb ''
  2. agrega una entrada database.yml para la base de datos provisional (no es realmente necesaria para heroku pero no puede hacer daño)
  3. Copia de seguridad de su archivo .env (si lo tiene)
  4. Instale el complemento heroku-config con los complementos de heroku plugins:install git://github.com/ddollar/heroku-config.git
  5. extraiga la configuración de su entorno de heroku (servidor de producción) con heroku config:pull --remote production
  6. realice cambios en el archivo .env y no olvide agregar estos valores a la configuración: RACK_ENV=staging RAILS_ENV=staging para que use la configuración del entorno de estadificación.
  7. fork un entorno heroku con heroku fork -a production staging (son los nombres de heroku que quieres en lugar de producción / puesta en escena)
  8. Haz un `heroku config: push --remote staging ''
  9. Asegúrate de desplegar el código para la puesta en escena de forma adecuada

También puede leer este tutorial, creo que lo usé para comenzar con varios envs en heroku: https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations