Despliegue Continuo con GitHub Actions y Azure Web Apps

Clase 24 de 34Curso de Docker Avanzado

Resumen

¿Cómo desplegar una aplicación con Azure y Docker usando GitHub Actions?

En el mundo tecnológico actual, el despliegue de aplicaciones no es solo una necesidad, sino una habilidad esencial. Aproximarse al despliegue continuo mediante herramientas como Azure, Docker y GitHub Actions puede simplificar enormemente el proceso, haciéndolo más eficiente y menos propenso a errores manuales. En esta ocasión, exploraremos cómo configurar de manera efectiva este flujo de trabajo.

¿Cómo crear una web app en Azure?

El primer paso para desplegar tu aplicación en la nube es configurar una web app en Azure. Esto te permitirá alojar tu contenedor de Docker para acceso público y garantiza que cualquier actualización se refleje de manera inmediata. Para ello:

  1. Accede al portal de Azure y selecciona "Web App" de las opciones disponibles.
  2. Elige la opción para contenedores y opta por Linux como el sistema operativo.
  3. Configura el grupo de recursos y elige una región adecuada, por ejemplo, EastUS.
  4. Selecciona un plan básico para mantener bajos los costos en pruebas iniciales.
  5. Configura las opciones de red para permitir acceso público.

¿Cómo vincular DockerHub a Azure?

Una vez creada la web app, es imprescindible vincularla a la imagen de Docker que deseas desplegar desde DockerHub. Asegúrate de:

  • Configurar en la sección de contenedores el acceso a tu imagen pública de DockerHub.
  • Insertar correctamente la URL del hub, el nombre de la imagen y su tag (por ejemplo, latest).

¿Cómo configurar GitHub Actions para despliegue continuo?

GitHub Actions permite automatizar el despliegue transfiere tus cambios desde el repositorio de GitHub a la web app en Azure sin intervención manual. Configura tus GitHub Actions siguiendo estos pasos:

  1. Dirígete a Settings en tu repositorio de GitHub y agrega un nuevo secreto llamado Azure WebApp Publish Profile.
  2. Carga el perfil de publicación desde Azure en este secreto, asegurando que las credenciales están protegidas.
  3. Edita tu archivo YAML en .github/workflows para incluir un paso de autenticación que utilice el nuevo secreto: ```yaml
    • name: Authenticate to Azure uses: azure/webapps-deploy@v2 with: app-name: 'AminES WebApp' publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} images: 'amin_espinosa/website_platzi:latest' ```
  4. Ajusta el flujo de trabajo para que cubra los pasos desde construir y publicar la imagen hasta su despliegue.

¿Qué esperar después de la configuración?

  • Cuando hagas un commit en tu repositorio, se disparará automáticamente el flujo que realizará el Docker Build, Docker Push y finalmente el despliegue de la nueva imagen.
  • Puedes vigilar el estado del despliegue directamente desde la sección de Actions en tu repositorio y observar cómo los cambios se implementan en tiempo real.

Con paciencia y dedicación, incluso si eres principiante, pronto dominarás el arte del despliegue continuo, economizando tiempo y minimizando el error humano en el proceso. Esta experiencia promete potenciar tus habilidades en DevOps, ayudándote a sobresalir en la gestión y evolución de tus proyectos. ¡Adelante, cada paso cuenta en tu camino al éxito!