Skip to main content

Ejecutar tareas con Release Phase

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Describir cómo configurar las tareas de Release Phase.
  • Describir cómo comprobar la actividad y los registros relacionados con las versiones.

Uso de Release Phase

La fase opcional Release Phase permite ejecutar tareas antes de implementar una nueva versión.

Casos de uso

Entre las tareas comunes ejecutadas durante esta fase, se incluyen las siguientes:

  • Envío de CSS, JS y otros activos a una red de entrega de contenido (CDN) o un depósito de AWS S3.
  • Preparación o invalidación de almacenes de caché.
  • Ejecución de migraciones de esquemas de bases de datos.

Especifique las tareas de Release Phase

Su aplicación puede usar el proceso de versión para ejecutar tareas de Release Phase en un dyno puntual. Para especificar tareas, agréguelas al Procfile de la aplicación. Agregue un tipo de proceso de versión al archivo, junto con el comando para ejecutar.

Por ejemplo, para una aplicación de Django, una migración de base de datos en su archivo se especifica así:


release: python manage.py migrate

Si implementa imágenes de Docker en Heroku, obtenga más información acerca de cómo usar Release Phase con un registro de contenedores.

¿Cuándo ocurre la fase Release Phase?

Las tareas de Release Phase se ejecutan con cada nueva versión, excepto que la versión se deba a cambios en las variables de configuración de un complemento. Los siguientes eventos crean una versión:

  • La compilación correcta de una aplicación
  • Un cambio en el valor de una variable de configuración
  • La promoción a una canalización
  • Una reversión
  • Una versión mediante la API de la plataforma
  • El aprovisionamiento de un nuevo complemento

Los dynos de aplicaciones no se inician para una nueva versión hasta que la Release Phase finaliza correctamente. Si una tarea de Release Phase falla, la nueva versión no se implementa. 

Revierta una versión

Si implementa código con errores en producción, revierta los cambios de código relevantes de manera local con git revert y vuelva a realizar la implementación.

Si debe revertir una versión debido a una configuración incorrecta u otros problemas específicos de la plataforma Heroku, use el comando heroku rollback. Este comando revierte su aplicación a una versión v40 anterior:

heroku rollback v40

Rolled back to v40

Si no especifica un número de versión, la aplicación se revierte a la versión anterior.

El comando heroku rollback crea una nueva versión. Esta versión copia el slug compilado y las variables de configuración de la versión a la que está revirtiendo.

Nota

Advertencia:

La ejecución en una versión revertida es una solución temporal para una implementación errónea. Confirme una solución de su problema y envíela a Heroku lo antes posible.

Compruebe el estado de una versión

Para comprobar el estado de una versión, incluidas las versiones con errores y las pendientes debido a una Release Phase de larga duración, ejecute heroku releases.

heroku releases

=== example-app Releases - Current: v52

v53  Deploy ad7c527 release command failed        example@heroku.com

v52  Deploy b41eb7c                               example@heroku.com

v51  Deploy 38352d3                               example@heroku.com

Use el comando heroku releases:output para ver el resultado de la ejecución de una Release Phase en particular:

heroku releases:output v40

--- Migrating db ---

INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.

INFO  [alembic.runtime.migration] Will assume transactional DDL.

Compruebe los registros de versión

Acceda a los registros asociados con una versión en la ficha Actividad de su aplicación. Haga clic en Ver registro de versión junto a la versión que desee ver. 

Fuente de actividad para una aplicación Heroku que muestra compilaciones y versiones correctas.

Recursos 

¡Siga aprendiendo gratis!
Regístrese para obtener una cuenta y continuar.
¿Qué hay para usted?
  • Consiga recomendaciones personalizadas para sus objetivos profesionales
  • Practique sus aptitudes con retos prácticos y pruebas
  • Siga y comparta su progreso con empleadores
  • Póngase en contacto para recibir asesoramiento y oportunidades laborales