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.
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.
Recursos