Jenkins と Azure Web Apps を使用した Java CI/CDJava CI/CD using Jenkins and Azure Web Apps

ソリューションのアイデア Solution Idea

情報を追加して (実装の詳細、価格ガイダンス、コード例など) この記事の拡張をお望みの場合は、GitHub のフィードバックでご連絡ください。If you'd like to see us expand this article with more information (implementation details, pricing guidance, code examples, etc), let us know with GitHub Feedback!

Azure App Service は、Java、Node、PHP、または ASP.NET を使用して Web アプリを作成するための高速で簡単な方法であり、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. 変更を Azure App Services に自動的にプッシュする継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインによって、顧客に対する価値の提供を迅速に実行できます。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

アーキテクチャ図 このアーキテクチャの SVG をダウンロードしてください。Architecture diagram Download an SVG of this architecture.

Data FlowData Flow

  1. アプリケーションのソース コードを変更しますChange application source code
  2. コードを GitHub にコミットしますCommit code to GitHub
  3. 継続的インテグレーション トリガーが Jenkins に送られますContinuous Integration Trigger to Jenkins
  4. Jenkins で、動的ビルド エージェントに対して Azure Container Instances を使用するビルド ジョブがトリガーされますJenkins triggers a build job using Azure Container Instances for a dynamic build agent
  5. Jenkins で、アーティファクトが構築されて Azure Storage に格納されますJenkins builds and stores artifact in Azure Storage
  6. Jenkins で、Azure Database for MySQL によってバックアップされる Azure Web Apps に Java アプリケーションがデプロイされますJenkins deploys Java application to Azure Web Apps backed by Azure Database for MySQL
  7. Azure App Insights で、アプリケーションのパフォーマンスに関するメトリックが提供されますAzure App Insights provides metrics on application performance
  8. アプリケーションを監視し、改善を行いますMonitor application and make improvements

ComponentsComponents

  • Azure Web Apps:大規模な基幹業務系 Web アプリを短時間で作成してデプロイAzure Web Apps: Quickly create and deploy mission critical Web apps at scale
  • Container Instances:サーバーの管理なしで Azure 上でコンテナーを簡単に実行Container Instances: Easily run containers on Azure without managing servers
  • Azure Database for MySQL:アプリ開発者のための管理された MySQL データベース サービスAzure Database for MySQL: Managed MySQL database service for app developers
  • Application Insights:Web アプリおよびサービスにおける問題を検出、トリアージ、診断Application Insights: Detect, triage, and diagnose issues in your web apps and services
  • Azure DevOps:Azure サービスを最大限に活用するマルチ プラットフォーム アプリをビルドしてデプロイAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

次のステップNext steps

Deploy to Azure (Azure へのデプロイ)Deploy to Azure