Azure 仮想アーキテクチャ上で Jenkins と Terraform を使用する不変のインフラストラクチャ CI/CD についての概要

Azure は、Windows または Linux を実行する仮想マシンをホストするための世界レベルのクラウドです。アプリケーション開発で Java、Node.js、Go、PHP のいずれを使用する場合でも、変更内容をこれらの仮想マシンに自動的にプッシュするためには、継続的インテグレーションと継続的デプロイ (CI/CD) のパイプラインが必要です。

Immutable Infrastructure CI/CD using Jenkins and Terraform on Azure Virtual Architecture overviewAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use Java, Node.js, Go, or PHP to develop your applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.JenkinsAzure Virtual MachineScale SetsTerraformAzure Managed Disks(VM Image)PackerGitHubEngineerAzure Log Analytics1765554423Visual Studio Code

アプリケーションのソース コードを変更します。

コードを GitHub にコミットします。

Jenkins に対する継続的インテグレーションのトリガー。

Jenkins は Packer イメージのビルドをトリガーして VM を作成し、Azure Managed Disks を使用してそれを VM イメージとして保存します。

Jenkins は Terraform をトリガーし、Azure Managed Disks VM イメージを使用して新しい仮想マシン スケール セットをプロビジョニングします。

Azure Log Analytics はログを収集して分析します。

アプリケーションを監視し、改善します。

  1. 1 アプリケーションのソース コードを変更します。
  2. 2 コードを GitHub にコミットします。
  3. 3 Jenkins に対する継続的インテグレーションのトリガー。
  4. 4 Jenkins は Packer イメージのビルドをトリガーして VM を作成し、Azure Managed Disks を使用してそれを VM イメージとして保存します。
  1. 5 Jenkins は Terraform をトリガーし、Azure Managed Disks VM イメージを使用して新しい仮想マシン スケール セットをプロビジョニングします。
  2. 6 Azure Log Analytics はログを収集して分析します。
  3. 7 アプリケーションを監視し、改善します。

実装ガイダンス

製品/説明 ドキュメント

Managed Disks

Azure Virtual Machines 向けの安全で永続的なディスク ストレージ。

Virtual Machine Scale Sets

数千個の Linux および Windows 仮想マシンを管理およびスケールアップできます。

Log Analytics

オンプレミスおよびクラウドのマシン データの収集、検索、視覚化。

Visual Studio Code

マルチプラットフォーム アプリを構築およびデプロイして Azure サービスを最大限に活用できます。

関連ソリューションのアーキテクチャ

CI/CD for Azure Web AppsAzure Web Apps is a fast and simple way to create web apps using ASP.NET, Java, Node.js, or PHP. Deliver value faster to your customers with a continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Web Apps.12345678

Azure Web Apps の CI/CD

Azure Web Apps は、ASP.NET、Java、Node.js、PHP を使用して Web アプリを作成するシンプルで迅速な方法です。各変更内容を自動的に Web Apps にプッシュするための継続的インテグレーションと継続的配置 (CI/CD) のパイプラインによって、ユーザーに価値をより迅速に提供します。

Container CI/CD using Jenkins and Kubernetes on Azure Kubernetes Service (AKS)Containers make it easy for you to continuously build and deploy applications. By orchestrating the deployment of those containers using Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.123456778

Azure Kubernetes Service (AKS) 上で Jenkins と Kubernetes を使用したコンテナーの CI/CD

コンテナーにより、アプリケーションの継続的なビルドとデプロイが簡単になります。Azure Kubernetes Service (AKS) を使用してそれらのコンテナーのデプロイを調整すれば、複製できて管理しやすいコンテナーのクラスターを作成できます。