Pipelines
Los pipelines te permiten automatizar todo el proceso de pasar código de desarrollo a producción. Puedes definir varias etapas dentro de tu pipeline e incluir varias aplicaciones en cada etapa. Una vez configurado tu pipeline, la función Promover te permite transferir sin problemas los cambios del código fuente a los entornos de QA y producción, sin necesidad de reconstruir la aplicación. Los pipelines también son compatibles con la estrategia Git Flow, que proporciona una representación visual clara del flujo de trabajo de desarrollo y despliegue de tu aplicación.
Con los pipeline, puedes
- Desplegar software con diferentes variables de entorno: Esto es ideal para escenarios como una aplicación B2B utilizada por múltiples clientes, donde cada cliente requiere ligeras variaciones en su panel de control.
- Desplegar la misma aplicación en varias ubicaciones geográficas: Esto ayuda a mejorar el rendimiento y a reducir la latencia para usuarios de distintas regiones.
- Realiza pruebas A/B: Despliega fácilmente diferentes versiones de tu aplicación a grupos de usuarios específicos para poder probar qué versión ofrece mejores resultados.
El uso de pipelines agiliza el proceso de despliegue, aumenta la flexibilidad y permite un enfoque estructurado de la gestión de múltiples entornos.
La función Promover también es accesible a través de nuestra API, lo que facilita la integración con herramientas CI/CD de terceros, como las Acciones de GitHub, para agilizar los flujos de trabajo.
Añadir un pipeline
Para añadir un nuevo pipeline, haz clic en Añadir pipeline dentro de Aplicaciones.
Introduce un nombre para la canalización y elige uno de los siguientes:
- Desarrollo basado en trunk (Trunk-based development): Con un pipeline de desarrollo basado en trunk, puedes añadir una aplicación existente a tu fase de desarrollo y crear varios entornos de producción como aplicaciones independientes para su despliegue. Cada una de estas aplicaciones puede alojarse en diferentes centros de datos y se trata como una entidad independiente dentro de su propio contenedor. Esta configuración te permite desplegar varias aplicaciones a partir del mismo código fuente, pero con distintas variables de entorno, dominios, procesos y otras configuraciones.
- Git flow: Elige esta opción si tu flujo de trabajo utiliza ramas separadas para desarrollo, staging y producción. Para utilizar Git Flow, tus aplicaciones deben estar ya configuradas en MyKinsta. Este enfoque te permite gestionar y seguir visualmente tu Git Flow directamente en la plataforma. La función Promover no está disponible en este flujo de trabajo, ya que los despliegues se producen automáticamente cuando envías los cambios desde tu repositorio fuente Git.
También tienes la flexibilidad de añadir varias etapas al pipeline, como una etapa QA (control de calidad), para probar a fondo tus cambios antes de pasarlos a producción.
Haz clic en Añadir pipeline, y se abrirá el flujo de trabajo del pipeline donde podrás añadir tus etapas y aplicaciones.
Habilitar aplicaciones de vista previa
Activar las aplicaciones de vista previa te permite probar tus cambios en un entorno real antes de fusionarlos con la rama principal. Las aplicaciones de vista previa están integradas con las funciones de despliegue y entorno de GitHub, de modo que cuando abres una solicitud de extracción (pull request), se genera automáticamente una aplicación de vista previa, proporcionando un espacio de pruebas dedicado que refleja tu configuración de producción. Esto te permite revisar, interactuar y refinar tus actualizaciones para asegurarte de que tu código funciona según lo previsto antes de que se integre completamente en el proyecto principal.
Cuando haces clic en Activar aplicaciones de previsualización, aparecen las siguientes opciones:
Configuración de la vista previa
- Repositorio Git: Elige GitHub, Bitbucket o GitLab y conecta tu cuenta Git. Una vez conectado, puedes elegir un repositorio Git.
- Crear automáticamente nuevas aplicaciones de previsualización para cada solicitud de extracción (pull request): Selecciona esta opción para crear una nueva app de previsualización cada vez que abras un pull request. La app de previsualización se elimina cuando se cierra la pull request.
- Borrar automáticamente las apps de previsualización obsoletas: Selecciona esta opción para eliminar automáticamente las apps de previsualización cuando no se produzcan nuevos despliegues. Tendrás que especificar el número de días sin nuevos despliegues antes de que se programe la eliminación de las apps de previsualización.
Configuración de la aplicación
- Ubicación: Elige el centro de datos que quieres utilizar para esta aplicación.
- Tipo de construcción: Elige Nixpacks, Buildpacks o un Dockerfile.
- Ruta de construcción: Para Nixpacks y Buildpacks, ésta es la ruta en el repositorio a los archivos necesarios para construir la aplicación. Para Dockerfiles, es la ruta a tu Dockerfile relativa a la raíz del repositorio.
- Hibernación: Esto reduce automáticamente tu aplicación si no se reciben peticiones HTTP en el plazo de tiempo especificado.
Procesos
En esta sección, puedes añadir los workers en segundo plano, cron jobs o jobs que necesites.
Variables de entorno
Añade cualquier variable de entorno necesaria para tu aplicación de previsualización.
Cuando hayas añadido los datos necesarios, haz clic en Activar.
Para cambiar la configuración de la app de vista previa, haz clic en los puntos suspensivos en Vista previa y selecciona Actualizar configuración. Para desplegar manualmente la aplicación de vista previa, haz clic en los puntos suspensivos de Vista previa y selecciona Desplegar rama.
Agregar una aplicación a una etapa
Para añadir una aplicación a una etapa, haz clic en Añadir app. A continuación, puedes elegir añadir una aplicación existente o crear una nueva. Sólo puedes crear una nueva aplicación dentro del proceso de desarrollo basado en el trunk. Si utilizas el proceso Git Flow, las aplicaciones ya deben existir en MyKinsta.
Para los pipelines basados en trunk, la primera etapa de tu pipeline debe ser la fuente para el resto del pipeline, por lo que debes elegir una aplicación existente. A continuación, puedes elegir crear una nueva aplicación para cualquiera de las siguientes etapas.
Añadir una etapa
Para añadir otra etapa al pipeline, haz clic en los puntos suspensivos y luego en Crear etapa.
Introduce un nombre para la etapa y haz clic en Crear etapa. Puedes arrastrar y soltar las etapas para cambiar el orden en el que quieres desplegar la aplicación.
A continuación, puedes añadir una nueva aplicación a la etapa.
Promover cambios a producción
Si has configurado un pipeline basado en trunk, puedes utilizar la opción Promover para enviar la aplicación a cada etapa sin tener que reconstruirla. Si estás promocionando a una etapa con múltiples aplicaciones, puedes elegir qué aplicaciones promover. Si no quieres promover una aplicación concreta, haz clic en el signo menos de esa aplicación para eliminarla del despliegue.
Dentro de Aplicaciones, el pipeline muestra todas las aplicaciones incluidas, etiquetando claramente la fase en la que se encuentra cada aplicación dentro del pipeline y cuándo se desplegó por última vez.
Configuración del pipeline
Para acceder a la configuración del pipeline, haz clic en los puntos suspensivos dentro de un pipeline y luego en Configuración. Los ajustes te permiten cambiar entre pipelines de desarrollo basados en trunk y pipelines de git flow. También puedes actualizar el nombre de tu pipeline y cambiar el orden de las etapas dentro del pipeline.
Eliminar un pipeline
Para eliminar un pipeline, dentro de Aplicaciones, selecciona el pipeline que deseas eliminar, haz clic en los puntos suspensivos y, a continuación, haz clic en Eliminar.
Esto sólo elimina el pipeline; las aplicaciones no se eliminan y permanecerán en tu lista de Aplicaciones. Para eliminar una aplicación por completo, ve a Configuración > Zona peligrosa > Eliminar aplicación. Al eliminar la aplicación por completo se elimina lo siguiente:
- Todos los archivos
- Configuración
- Los discos de almacenamiento persistente
- Las conexiones con otras aplicaciones o bases de datos