Azure VM の CI/CDCI/CD for Azure VMs

ソリューションのアイデア 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 は、Windows または Linux を実行する仮想マシンをホストするための世界クラスのクラウドです。Azure is a world-class cloud for hosting virtual machines running Windows or Linux. ASP.NET、Java、Node.js、PHP のいずれを使用してアプリケーションを開発する場合でも、これらの仮想マシンに変更を自動的にプッシュするには、継続的インテグレーションと継続的デプロイ (CI/CD) のパイプラインが必要です。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.

Azure DevOps は、アプリケーションのソース コードとインフラストラクチャ コード (ARM テンプレート) を管理するための Git リポジトリ、パッケージとその他のビルド成果物を生成するためのビルド システム、および開発、テスト、運用の各環境で変更をデプロイするためのパイプラインを設定するためのリリース管理システムを備えた CI/CD パイプラインを提供します。Azure DevOps provides the CI/CD pipeline, starting with a Git repository for managing your application source code and infrastructure code (ARM templates), a Build system for producing packages and other build artifacts, and a Release Management system for setting up a pipeline to deploy your changes through dev, test, and production environments. パイプラインは ARM テンプレートを使用して、各環境で必要に応じてインフラストラクチャをプロビジョニングまたは更新してから、更新されたビルドをデプロイします。The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. また、Azure DevTest Labs を使用して、使用されていないテスト リソースを自動的に破棄することもできます。You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

ArchitectureArchitecture

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

Data FlowData Flow

  1. アプリケーションのソース コードを変更しますChange application source code
  2. アプリケーション コードと Azure Resource Manager (ARM) テンプレートをコミットしますCommit Application Code and Azure Resource Manager (ARM) Template
  3. 継続的インテグレーションによって、アプリケーションのビルドと単体テストがトリガーされますContinuous integration triggers application build and unit tests
  4. 継続的デプロイ トリガーにより、環境固有のパラメーターでアプリケーション成果物のデプロイが調整されますContinuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. QA 環境にデプロイしますDeployment to QA environment
  6. ステージング環境にデプロイしますDeployment to staging environment
  7. 運用環境にデプロイしますDeployment to production environment
  8. Application Insights が、正常性、パフォーマンス、使用状況のデータを収集して分析しますApplication Insights collects and analyses health, performance, and usage data
  9. 正常性、パフォーマンス、および使用状況の情報を確認しますReview health, performance and usage information
  10. バックログ項目を更新しますUpdate backlog item

ComponentsComponents

  • Virtual Machines:Windows および Linux の仮想マシンを数秒でプロビジョニングしますVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs:再利用可能なテンプレートとアーティファクトを使用して環境をすばやく構築Azure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • 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