CI/CD de Java mediante Jenkins y Azure Web Apps

Azure App Service
Azure Container Instances
Azure Database for MySQL
GitHub

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

Azure App Service constituye una manera rápida y sencilla de crear aplicaciones web con Java, Node, PHP o ASP.NET, y ofrece compatibilidad con los entornos de ejecución de lenguaje personalizado mediante Docker.

Posibles casos de uso

Esta solución ofrece una canalización de integración continua e implementación continua (CI/CD) que envía todos los cambios de forma automática a Azure App Services, lo que le permite ofrecer valor más rápido a sus clientes.

Architecture

Diagrama que muestra una canalización de integración continua e implementación continua mediante Jenkins y aplicaciones web de Azure.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Cambio del código fuente de la aplicación.
  2. Confirmación de código en GitHub
  3. Desencadenador de integración continua a Jenkins
  4. Desencadenamiento de Jenkins de un trabajo de compilación mediante Azure Container Instances para un agente de compilación dinámico
  5. Creación y almacenamiento de artefactos por Jenkins en Azure Storage
  6. Implementación de Jenkins de la aplicación Java en Azure Web Apps respaldada por Azure Database for MySQL
  7. Información de la aplicación de Azure que proporciona métricas sobre el rendimiento de las aplicaciones
  8. Supervisión de la aplicación y realización de mejoras

Componentes

  • Azure Web Apps: Cree e implemente rápidamente aplicaciones web críticas a escala
  • Container Instances. Ejecute fácilmente contenedores en Azure sin necesidad de administrar servidores
  • Azure Database for MySQL: Servicio de base de datos MySQL para desarrolladores de aplicaciones
  • Application Insights: Detecte, evalúe y diagnostique problemas en los servicios y las aplicaciones web
  • Azure DevOps: cree e implemente aplicaciones multiplataforma para sacar el máximo partido de los servicios de Azure.

Implementación de este escenario

Pasos siguientes