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

App Service
Container Instances
Database for MySQL
Web Apps
GitHub

Lösungsmöglichkeiten

Dieser Artikel ist ein Lösungsvorschlag. Wenn Sie möchten, dass wir diesen Artikel um weitere Informationen ergänzen, z. B. potenzielle Anwendungsfälle, alternative Dienste, Überlegungen zur Implementierung oder Preisempfehlungen, lassen Sie es uns über Feedback auf GitHub wissen.

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.

Mögliche Anwendungsfälle

Diese Lösung bietet eine CI/CD-Pipeline (Continuous Integration/Continuous Deployment), mit der Ihre Änderungen automatisch an Azure App Services gepusht werden, was Ihnen die schnellere Bereitstellung für Ihre Kunden ermöglicht.

Aufbau

Diagramm einer kontinuierlichen Integrations- und Bereitstellungspipeline mit Jenkins und Azure Web Apps.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Der Quellcode der Anwendung wird geändert.
  2. Führen Sie ein Commit für Code in GitHub aus.
  3. Aktivieren Sie den Continuous Integration-Trigger für Jenkins.
  4. Jenkins löst mithilfe von Azure Container Instances einen Buildauftrag für einen dynamischen Build-Agent aus.
  5. Jenkins erstellt und speichert ein Artefakt in Azure Storage.
  6. Jenkins stellt eine Java-Anwendung in Azure-Web-Apps bereit, die durch Azure Database for MySQL unterstützt werden.
  7. Azure App Insights stellt Metriken zur Anwendungsleistung bereit.
  8. Überwachen Sie die Anwendung, und nehmen Sie Verbesserungen vor.

Komponenten

  • Azure Web Apps: Schnell unternehmenskritische Web-Apps nach Maß erstellen und bereitstellen
  • Container Instances: Einfache Ausführung von Containern in Azure, ohne Server verwalten zu müssen
  • Azure Database for MySQL: Verwalteter MySQL-Datenbankdienst für App-Entwickler
  • Application Insights: Ermitteln, selektieren und diagnostizieren Sie Probleme in Ihren Web-Apps und -diensten
  • Azure DevOps: Erstellen und Bereitstellen von Apps für mehrere Plattformen, um Azure-Dienste optimal zu nutzen

Bereitstellen dieses Szenarios

Nächste Schritte