Azure VM の CI/CD

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

Azure DevOps の CI/CD パイプラインには、アプリケーションのソース コードとインフラストラクチャのコード (ARM テンプレート) を管理するための Git リポジトリから、パッケージをはじめとするビルド成果物を生成するビルド システム、さらには開発環境、テスト環境、および運用環境で発生した変更をデプロイするためのパイプラインを設定するリリース管理システムが用意されています。このパイプラインでは、ARM テンプレートにより各環境のインフラストラクチャを必要に応じてプロビジョニングまたは更新してから、新しいビルドをデプロイする流れになっています。また、使用していないテスト リソースがあれば、Azure Dev/Test Lab を使って自動で破棄することもできます。

CI/CD for Azure VMsAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use ASP.NET, Java, Node.js, or PHP to develop applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.1234567888910

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

アプリケーション コードと Azure Resource Manager (ARM) テンプレートをコミット

継続的インテグレーションにより、アプリケーションのビルドと単体テストが発生

継続的配置トリガーが環境固有のパラメーターでアプリケーション成果物のデプロイを調整

QA 環境にデプロイ

ステージング環境にデプロイ

運用環境にデプロイ

Application Insights が正常性、パフォーマンス、使用状況のデータを収集および分析

正常性、パフォーマンス、使用状況の情報を確認

バックログ項目を更新

  1. 1 アプリケーションのソース コードを変更します
  2. 2 アプリケーション コードと Azure Resource Manager (ARM) テンプレートをコミット
  3. 3 継続的インテグレーションにより、アプリケーションのビルドと単体テストが発生
  4. 4 継続的配置トリガーが環境固有のパラメーターでアプリケーション成果物のデプロイを調整
  5. 5 QA 環境にデプロイ
  1. 6 ステージング環境にデプロイ
  2. 7 運用環境にデプロイ
  3. 8 Application Insights が正常性、パフォーマンス、使用状況のデータを収集および分析
  4. 9 正常性、パフォーマンス、使用状況の情報を確認
  5. 10 バックログ項目を更新

実装ガイダンス

製品/説明 ドキュメント

Virtual Machines

Windows と Linux の仮想マシンを数秒でプロビジョニング

Azure DevTest Labs

再利用可能なテンプレートとアーティファクトを使用して環境を素早く構築

Application Insights

Web アプリおよびサービスにおける問題を検知、トリアージ、診断します。

Azure DevOps

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

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

CI/CD for ContainersContainers make it very easy for you to continuously build and deploy your applications. By orchestrating deployment of those containers using Kubernetes in Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.12345678910

コンテナーの CI/CD

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

Java CI/CD using Jenkins and Azure Web AppsAzure 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. 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.JenkinsAzure ContainerInstancesAzureFilesAzure WebAppsAzure Databasefor MySQLGitHubIntelliJEngineerApplicationInsights182345677

Jenkins と Azure Web Apps を使った Java CI/CD

Azure App Service では Java、Node、PHP、または ASP.NET を使った Web アプリをシンプルかつスピーディーに作成できるほか、Docker を使ったカスタム言語ランタイムをサポートすることもできます。各変更内容を自動的に Azure アプリ サービスにプッシュするための継続的インテグレーションと継続的デプロイ (CI/CD) のパイプラインによって、顧客にこれまでよりも早く価値を提供できます。