Otras Páginas

Expandir Todo

Lanzando A Heroku

Si todavía no has lanzado tu aplicación a Heroku, comienza con Configuración inicial. De otra manera, empieza en Cómo lanzar.

Configuración inicial

Paso 1: Crea una aplicación heroku

Type this in the terminal:
heroku create

heroku create registra una nueva aplicación en heroku. Al hacer esto deberías ver algunas líneas de salida, incluyendo la URL de tu nueva aplicación.

Paso 2: Edita el Gemfile

Cada aplicación tiene su propio Gemfile. Asegúrate de que estás abriendo el que corresponde a la carpeta de tu aplicación.

Heroku ejecutará nuestra aplicación un poco diferente a como lo hace nuestra computadora, por lo cual requiere que hagamos uns pequeños cambios a nuestro Gemfile.

Abre el archivo llamado Gemfile en Sublime Text, o tu editor preferido, y encuentra la siguiente línea:

gem 'sqlite3'

Elimina esa línea y reemplázala con:

group :development, :test do
  gem 'sqlite3'
end

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

Paso 3: Procesa los cambios del Gemfile

Type this in the terminal:
bundle install --without production

Cada vez que el Gemfile cambia, necesitas ejecutar bundle install para que los cambios sean procesados. La versión procesada de los cambios es almacenada en otro archivo llamado Gemfile.lock.

Paso 4: Aplica los cambios del Gemfile

Ahora hay cambios en el Gemfile y Gemfile.lock que necesitan ser aplicados antes de que podamos enviarlos a Heroku.

Type this in the terminal:
git add .
git commit -m "Gemfile modificado para heroku"

Hay un punto después de la palabra add en la primera línea.

Cómo lanzar

Paso 1: Aplica todos los cambios pendientes en git

Heroku sólo recibirá los archivos a los que se les ha aplicado commit dentro de nuestro repositorio local git. Por ello necesitamos asegurarnos de que todos los cambios en los archivos han sido aplicados mediante el comando commit.

Type this in the terminal:
git status

git status muestra todos los cambios pendientes. Si no se muestra ningún cambio, ¡estás listo para lanzar la aplicación! De otra manera...

Type this in the terminal:
git add .
git commit -m "Algún mensaje útil en el futuro"

El mensaje debe destacar lo más importante de los cambios hechos: algo como 'Agregar votos al índice de temas'.

Paso 2: Envía los cambios a Heroku

Type this in the terminal:
git push heroku master

Esto toma los cambios aplicados y los envía a Heroku.

Paso 3: Ejecuta las migraciones de la base de datos sobre Heroku

Type this in the terminal:
heroku run rake db:migrate

Esto le dice a Heroku que ejecute tus migraciones en su base de datos, similar a cuando se ejecuta rake db:migrate localmente. La base de datos de Heroku es independiente de la que está en tu computadora, lo que significa que debe ser actualizada cada vez que haces cambios a la estructura de tu base de datos. También significa que no verás en Heroku ninguno de los datos que insertaste en la base de datos sqlite3 de tu computadora.

Paso 4: Visita tu aplicación

Type this in the terminal:
heroku open

Esto abre la nueva aplicación en tu explorador.

Explicación

En primer lugar, tuvimos que hacer algo de trabajo para hacer que Heroku se lleve bien con nuestra aplicación. Esto requirió actualizar el Gemfile y empaquetar la aplicación con bundle.

  • El Gemfile es una lista de todas las librerías de Ruby que tu aplicación necesita. Lo que hemos declarado aquí es que queremos usar la librería sqlite3 mientras estamos desarrollando en nuestra computadora (el grupo de desarrollo) pero cuando lanzamos a Heroku (el grupo de producción) queremos usar la librería pg, la cual está hecha para el tipo de base de datos que usa Heroku.

  • Usar bundle es la manera en que los proyectos de Ruby realizan un seguimiento de las gemas que usan. Nosotros decimos que se empaquete lo que queremos usar en el Gemfile, ahora necesitamos asegurarnos de que esas gemas están instaladas. Dado que no tenemos el mismo tipo de base de datos que Heroku, nos saltamos las gemas de producción. ¡Pero no te preocupes! El bundle guarda los registros, de manera que Heroku instalará las gemas cuando reciba tu código.

Deberías ser capaz de lanzar tu aplicación siempre que esté funcionando adecuadamente. Tu flujo de trabajo típico será el siguiente:

workflow
  1. Agregar o modificar código

  2. Aplicar los cambios (git commit)

  3. (repetir)

Siempre que tus cambios sean aplicados mediante commit, siéntete libre de ejecutar git push heroku master Y ¡Pum! ¡Los cambios están en vivo en Heroku!

Regresar a Ajustando Pagina Por Defecto