La guia de platanus
  • README
  • Acuerdos
    • Guía de Estilo
      • Ejemplo: Módulo para variables de entorno
  • Stack
    • Getting Started
    • Nuestro MVC extendido
    • Ruby/Rails
      • Power Types
        • General
        • Patrones
          • Commands
          • Utils
          • Services
          • Values
          • Observers
      • Potassium
      • Power API
      • Active Admin
        • General
        • Active Admin Addons
      • Pundit
      • Shrine
        • General
        • Manejo y procesamiento de imágenes
      • Pry
      • Strong Migrations
      • Data Migrate
      • Active Job
      • Gems
      • Engines - Modularización en Rails
    • JavaScript
      • Vue
        • General
        • Testing
      • AlpineJS
    • CSS
    • Mobile
      • Expo
      • React Navigation
      • Redux
        • Crear y conectar una slice en Redux
      • Styling
        • Usando Tailwind en React Native
      • Recursos
    • Resolviendo problemas (debugging)
    • Machine Learning
  • Setup
    • Configuración de tu entorno local
      • Instalación Base
        • OSX
        • Windows
        • Linux
      • Tecnologías
        • Ruby
        • Docker
        • Node
      • Herramientas
        • Linters
        • Editores
          • IDE/Editores de Código
            • Visual Studio Code
            • Sublime Text
        • Git
    • Configuración de proyectos
      • Getting Started
      • Heroku
      • Rails
      • Circle CI
      • Vue
      • Apple App Store
      • Google Play
      • Expo
      • S3
      • Git
      • Cloudflare
      • Sendgrid
      • Dominio + Mailing
      • Google Tag Manager, Analytics, Search Console, etc.
        • Google Tag Manager
          • Configurar Google Tag Manager
        • Google Analytics
        • Indexación en Google
        • Google Ads
      • Crear un bucket de S3
      • SlackBot
      • Google BigQuery
  • Deployment
    • Rails
    • Ruby Gems
    • Browser and Node (Open Source)
    • Mobile
      • Mobile Resources
      • Apple App Storage
      • Google Play
  • Upgrades
    • Upgrade de Vue 2 a Vue 3
    • Migración Hound → reviewdog
    • Upgrade de Postgresql
Con tecnología de GitBook
En esta página
  • Rails Deployment
  • Creación de la app en heroku
  • Conectar github
  • Continuous integration
  • Continuous delivery
  • Usando heroku desde la linea de comando
  1. Deployment

Rails

AnteriorGoogle BigQuerySiguienteRuby Gems

Última actualización hace 2 años

Rails Deployment

Los proyectos Rails se publican en en la cuenta de Platanus.

Utilizaremos los 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

heroku login

y crear la aplicación

potassium create <app-name>

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 de potassium.

Si tienes un proyecto que todavia no tiene sus aplicaciones creadas en heroku, puedes ejecutar nuevamente la receta con el comando install

potassium install heroku

Conectar github

Entrar al 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

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

brew install heroku-toolbelt

Luego debes hacer login con tu cuenta de heroku.

heroku login

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

heroku logs --remote staging
heroku config:set KEY=value --remote production

El remote staging queda configurado como por defecto, por lo que puedes omitirlo.

branch → stage

master → staging

production → production

Los test de la aplicación ejecutados por el servicio CircleCi. Para esto debes habilitar el repositorio en .

Para comenzar a usar heroku desde la linea de comando debes instalar

heroku
pipelines
receta heroku
dashboard de heroku
https://circleci.com/add-projects
heroku-toolbelt