CI/CD Java avec Jenkins et Azure Web Apps

App Service
Container Instances
Database pour MySQL
Web Apps
GitHub

Idée de solution Solution Idea

Si vous souhaitez nous voir développer cet article avec d’autres informations, les détails de l’implémentation, le guide de tarification ou des exemples de code, faites-le-nous savoir avec les Commentaires de GitHub !If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

Azure App Service est un moyen simple et rapide de créer des applications web à l’aide de Java, Node, PHP ou ASP.NET, et de prendre en charge des runtimes de langage personnalisés à l’aide de Docker.Azure App Service is a fast and simple way to create web apps using Java, Node, PHP or ASP.NET, as well as support for custom language runtimes using Docker. Un pipeline d’intégration continue et de déploiement continu (CI/CD) qui transmet automatiquement chacune de vos modifications à Azure App Service vous permet de fournir une valeur plus rapidement à vos clients.A continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Azure app services allows you to deliver value faster to your customers.

ArchitectureArchitecture

Diagramme d’architecture Télécharger un SVG de cette architecture.Architecture diagram Download an SVG of this architecture.

Data FlowData Flow

  1. Changer le code source de l’applicationChange application source code
  2. Valider le code dans GitHubCommit code to GitHub
  3. Activer le déclencheur d’intégration continue sur JenkinsContinuous Integration Trigger to Jenkins
  4. Jenkins déclenche un travail de génération à l’aide du service Azure Container Instances pour un agent de build dynamiqueJenkins triggers a build job using Azure Container Instances for a dynamic build agent
  5. Jenkins crée et stocke l’artefact dans le stockage AzureJenkins builds and stores artifact in Azure Storage
  6. Jenkins déploie une application Java sur Azure Web Apps sauvegardée par Azure Database pour MySQLJenkins deploys Java application to Azure Web Apps backed by Azure Database for MySQL
  7. Azure App Insights fournit des métriques sur les performances de l’applicationAzure App Insights provides metrics on application performance
  8. Surveiller l’application et apporter des améliorationsMonitor application and make improvements

ComposantsComponents

  • Applications web Azure : Créez et déployez rapidement des applications web stratégiques à grande échelleAzure Web Apps: Quickly create and deploy mission critical Web apps at scale
  • Container Instances : Exécutez facilement des conteneurs sur Azure sans gérer les serveursContainer Instances: Easily run containers on Azure without managing servers
  • Azure Database pour MySQL : Service géré de base de données MySQL pour développeurs d’applicationsAzure Database for MySQL: Managed MySQL database service for app developers
  • Application Insights : Détectez, hiérarchisez et diagnostiquez des problèmes dans vos applications et services webApplication Insights: Detect, triage, and diagnose issues in your web apps and services
  • Azure DevOps : Créer et déployer des applications multi-plateformes pour tirer le meilleur parti des services AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Étapes suivantesNext steps

Déployer sur AzureDeploy to Azure