Java-CI/CD mit Jenkins und Azure Web-Apps

App Service
Container Instances
Database for MySQL
Web Apps
GitHub

Lösungsidee Solution Idea

Wenn Sie möchten, dass wir diesen Artikel durch weitere Informationen, Implementierungsdetails, Preisinformationen oder Codebeispiele ergänzen, kontaktieren Sie uns über GitHub-Feedback.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 ermöglicht das schnelle und einfache Erstellen von Web-Apps mit Java, Node, PHP oder ASP.NET und bietet Unterstützung für benutzerdefinierte Language Runtimes mithilfe von 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. Eine CI/CD-Pipeline (Continuous Integration/Continuous Deployment), mit der Ihre Änderungen automatisch mithilfe von Push an Azure App Services übertragen werden, ermöglicht Ihnen die schnellere Bereitstellung für Ihre Kunden.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.

AufbauArchitecture

Architekturdiagramm Laden Sie eine SVG-Datei für diese Architektur herunter.Architecture diagram Download an SVG of this architecture.

DatenflussData Flow

  1. Der Quellcode der Anwendung wird geändert.Change application source code
  2. Führen Sie ein Commit für Code in GitHub aus.Commit code to GitHub
  3. Aktivieren Sie den Continuous Integration-Trigger für Jenkins.Continuous Integration Trigger to Jenkins
  4. Jenkins löst mithilfe von Azure Container Instances einen Buildauftrag für einen dynamischen Build-Agent aus.Jenkins triggers a build job using Azure Container Instances for a dynamic build agent
  5. Jenkins erstellt und speichert ein Artefakt in Azure Storage.Jenkins builds and stores artifact in Azure Storage
  6. Jenkins stellt eine Java-Anwendung in Azure-Web-Apps bereit, die durch Azure Database for MySQL unterstützt werden.Jenkins deploys Java application to Azure Web Apps backed by Azure Database for MySQL
  7. Azure App Insights stellt Metriken zur Anwendungsleistung bereit.Azure App Insights provides metrics on application performance
  8. Überwachen Sie die Anwendung, und nehmen Sie Verbesserungen vor.Monitor application and make improvements

KomponentenComponents

  • Azure Web Apps: Schnell unternehmenskritische Web-Apps nach Maß erstellen und bereitstellenAzure Web Apps: Quickly create and deploy mission critical Web apps at scale
  • Container Instances: Einfache Ausführung von Containern in Azure, ohne Server verwalten zu müssenContainer Instances: Easily run containers on Azure without managing servers
  • Azure Database for MySQL: Verwalteter MySQL-Datenbankdienst für App-EntwicklerAzure Database for MySQL: Managed MySQL database service for app developers
  • Application Insights: Ermitteln, selektieren und diagnostizieren Sie Probleme in Ihren Web-Apps und -dienstenApplication Insights: Detect, triage, and diagnose issues in your web apps and services
  • Azure DevOps: Erstellen und Bereitstellen von Apps für mehrere Plattformen, um Azure-Dienste optimal zu nutzenAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Nächste SchritteNext steps

Bereitstellen in AzureDeploy to Azure