Rails
Rails Deployment
Los proyectos Rails se publican en heroku en la cuenta de Platanus.
Utilizaremos los pipelines de heroku para manejar diferente stages de la aplicación. Como convención partiremos siempre con staging y production.
Creación de la app en heroku
Al crear un proyecto rails con potassium, si tienes acceso a la cuenta de heroku, las aplicaciones serán creadas por el mismo comando create
de potassium.
Para crear la aplicación se deben usar la cuenta owner que es tiene permisos para crear nuevas aplicaciones. Para esto debes installar el heroku-toolbelt y la gema potassium.
Debes hacer login con la cuenta de heroku
y crear la aplicación
Esto creará una aplicacion para cada stage, creará el pipeline y hará la asociación entre las apps y el stage. Todo esto esta definido en la receta heroku de potassium.
Si tienes un proyecto que todavia no tiene sus aplicaciones creadas en heroku, puedes ejecutar nuevamente la receta con el comando install
Conectar github
Entrar al dashboard de heroku y conectar el pipeline con un repositorio en github y configurar los automatic deploys usando github.
Al configurar los automatic deploys hay que elegir un branch para cada stage.
NOTA: Si vas a habilitar CI, al conectar un branch a un stage debes habilitar la opcion que dice, esperar CI antes de publicar. Eso para que solo se publiquen braches en los que los tests estan pasando.
Continuous integration
Los test de la aplicación ejecutados por el servicio CircleCi. Para esto debes habilitar el repositorio en https://circleci.com/add-projects.
Continuous delivery
El deploy se hace de manera automática mediante usando los branches definidos para cada stage.
Cada vez que se hace un push al repositorio en github a uno de estos branches, la aplicación del stage correspondiente comienza su proceso de build y luego es publicada.
Usando heroku desde la linea de comando
Para comenzar a usar heroku desde la linea de comando debes instalar heroku-toolbelt
Luego debes hacer login con tu cuenta de heroku.
Para acceder mas fácil a las aplicaciones en heroku desde tu proyecto, el heroku toolbelt usa los remotes de github para saber en que stage o aplicación ejecutar un comando.
Potassium crea los remotes automáticamente a generar la aplicacion. Si acabas de clonar una aplicación existente puedes ejecutar el script bin/setup
.
Luego de esto puedes ejecutar los comandos de la siguiente manera
El remote staging queda configurado como por defecto, por lo que puedes omitirlo.
branch → stage
master → staging
production → production
Última actualización