Crear una canalización de Heroku y ejecutar aplicaciones de revisión
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Describir las opciones disponibles para la canalización.
- Describir algunas ventajas de las aplicaciones de revisión.
Etapas de la canalización
Cada aplicación de una canalización representa uno de estos pasos en un flujo de trabajo de entrega continua: revisión, desarrollo, organización y producción.
Las dos etapas que la mayoría de los desarrolladores conocen son las siguientes:
-
Organización: La etapa de organización prueba los cambios en un entorno similar al de producción antes de su implementación en producción.
-
Producción: Las aplicaciones en el entorno de producción están disponibles para sus usuarios finales.
Además de estas dos etapas, los desarrolladores suelen usar al menos una etapa más para comprobar los cambios en el código y las solicitudes de incorporación individuales más fácilmente. La mayoría usa una de las siguientes etapas para este tipo de prueba:
-
Aplicaciones de revisión: Esta opción solo está disponible si usa la integración de GitHub y activa la función Aplicaciones de revisión en la canalización. El desarrollador envía sus cambios para crear una aplicación temporal que se puede compartir para probar una solicitud de incorporación específica. Sin esta función, en su lugar, los desarrolladores pueden enviar los cambios a la etapa de desarrollo para compartirlos.
-
Desarrollo: El desarrollador realiza y prueba los cambios en el código en su equipo local. Como opción, puede enviar el código a la etapa de desarrollo de una canalización en Heroku para compartirlo con los demás.
Es posible tener más de una aplicación en cada etapa de una canalización. Por ejemplo, puede tener dos aplicaciones de producción con la misma base de código, pero implementadas en diferentes regiones para reducir la latencia.
Para crear una canalización y agregarle aplicaciones, consulte Canalizaciones en el Centro de desarrollo de Heroku.
Active y use Aplicaciones de revisión
Si su código está en GitHub, puede conectarse a su repositorio y activar Aplicaciones de revisión para su canalización. Luego, puede elegir activar manual o automáticamente una aplicación de prueba temporal cada vez que alguien abra una nueva solicitud de incorporación. Las aplicaciones de revisión se destruyen automáticamente cuando se cierra una PR. También puede elegir cuándo eliminar las aplicaciones obsoletas para reducir aún más su uso. Consulte las instrucciones y los costos asociados con esta función en el Centro de desarrollo de Heroku.
Las aplicaciones de revisión usan un archivo app.json
para configurar sus aplicaciones. Agregue este archivo a su código antes de activar Aplicaciones de revisión. Consulte la sección de configuración y el esquema de app.json en el Centro de desarrollo de Heroku para obtener más información.
El archivo app.json
se incluye en su código en GitHub, así que no agregue valores de variables de configuración que desee mantener en secreto. En cambio, configure esos valores como variables de configuración en la ficha Configuración de la canalización.
Al igual que las aplicaciones Heroku, cada aplicación de revisión tiene su propia URL que puede escribir en su navegador para ver. También puede hacer clic en Abrir aplicación en navegador junto a la aplicación de revisión en la página de la canalización para obtener una vista previa rápida de los cambios. Puede elegir utilizar un patrón de URL aleatorio o predecible al configurar sus aplicaciones de revisión. Con una URL predecible, Heroku usa el prefijo elegido y el número de solicitud de incorporación para crear la aplicación. Por ejemplo, si elige el prefijo ejemplo-prefijo
, al abrir la PR n.º 123, se crea una aplicación de revisión en ejemplo-prefijo-pr123.herokuapp.com
.
Active Heroku CI
La función de CI nativa de Heroku está disponible para su activación en cada canalización. Los dynos y los complementos utilizados durante las pruebas de CI incurren en costos adicionales.
Se requiere la integración de GitHub para usar Heroku CI. Conecte su canalización a su repositorio y active Heroku CI en la ficha Configuración.
Configure su entorno Heroku CI mediante la inclusión de un manifiesto app.json
en el directorio raíz de su repositorio. Durante la prueba de CI, cualquier clave definida en el entorno de prueba
de este archivo tiene prioridad sobre cualquier clave coincidente en la configuración de base de su aplicación.
Configure implementaciones automáticas al entorno de organización
Con la entrega continua, todos los cambios se envían al entorno de organización. Active las implementaciones automáticas en su aplicación de organización para automatizar este paso siempre que el código se fusione con una bifurcación específica.
Si utiliza la integración de GitHub, puede configurar implementaciones automáticas en la ficha Implementar de la aplicación. Si utiliza Heroku CI, puede configurarlo para que las implementaciones automáticas se realicen solo cuando Heroku CI pase. Para obtener más información, consulte Integración de GitHub.
Promueva desde el entorno de organización al de producción
Le recomendamos que implemente mediante la promoción a una canalización solo en las aplicaciones con compilaciones sin estado. Los slugs son copias comprimidas y preempaquetadas de su aplicación. Al promover a producción, Heroku copia el slug del entorno de organización sin realizar ningún cambio. No se vuelve a crear para la producción. Las compilaciones que compilan valores de variables de configuración en el slug pueden experimentar problemas cuando se promueven. Para las aplicaciones con compilaciones con estado, en su lugar, utilice la implementación basada en Git estándar o implementaciones de GitHub de Heroku.
La página de canalización lo ayuda a visualizar el progreso de sus aplicaciones, así como metainformación sobre el estado de cada etapa. Por ejemplo, puede ver si su aplicación de producción está ejecutando código diferente al de la aplicación de organización. Haga clic en Promover a producción en la aplicación de organización que desea promover.
Acaba de obtener información acerca de cómo trabajar con aplicaciones en una canalización. A continuación, aprenderemos sobre Release Phase y cómo funcionan las versiones.
Recursos
-
Centro de desarrollo de Heroku: Oportunidades en curso
-
Centro de desarrollo de Heroku: Integración de GitHub
-
Centro de desarrollo de Heroku: Aplicaciones de revisión
-
Centro de desarrollo de Heroku: Heroku CI