Azure Web Apps 用の Azure Pipelines のアーキテクチャ
重要
Azure Web Apps の CI/CD は、Azure DevOps を使用した CI/CD パイプラインの設計に関する記事のバリアントです。 この記事では、デプロイの Web Apps 固有のファセットに焦点を当てます。
Azure Web Apps では、ASP.NET、Java、Node.js、Python、および他の言語とフレームワークを使用して Web アプリを迅速かつ簡単に作成できます。 各変更を Azure Web Apps に自動的にプッシュする継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインによって、顧客に迅速に価値をもたらします。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
データフロー
このセクションでは、Azure Pipelines のベースライン アーキテクチャに関する記事を読んでいるものと想定し、Azure App Services へのワークロードのデプロイに固有の考慮事項のみに焦点を当てています。
PR パイプライン - "ベースラインと同じ"
CI パイプライン - ベースラインと同じですが、Web Apps 用に作成されたビルド成果物は Web 配置パッケージです。
CD パイプライン トリガー - "ベースラインと同じ"
ステージングへの CD のリリース - ベースラインと同じですが、次の 2 つの例外があります。1) ダウンロードされるビルド成果物は Web 配置パッケージです。2) パッケージは App Services のステージング スロットにデプロイされます。
運用環境への CD のリリース - ベースラインと同じですが、次の 2 つの例外があります。1) Web Apps の運用環境へのリリースで運用スロットとステージング スロットが入れ替えられます。2) Web Apps のロールバックで運用スロットとステージング スロットが元通りに入れ替えられます。
監視 - "ベースラインと同じ"
コンポーネント
このセクションでは、Azure Pipelines のベースライン アーキテクチャのコンポーネントに関するセクションを読んでいるものと想定し、Azure App Services へのワークロードのデプロイに固有の考慮事項のみに焦点を当てています。
Azure App Service: Azure App Service は、Web アプリケーション、REST API、モバイル バックエンドをホストするための HTTP ベースのサービスです。 Azure Web Apps は、実際には Azure App Service でホストされているアプリケーションです。
Azure Web Apps: ミッション クリティカルな大規模 Web アプリを迅速に作成してデプロイします。 Azure Web Apps には、Windows Web Apps、Linux Web Apps、Web App for Containers など、多くのオファリングがあります。
考慮事項
このセクションでは、Azure Pipelines のベースライン アーキテクチャの考慮事項に関するセクションを読んでいるものと想定し、Azure App Services へのワークロードのデプロイに固有の考慮事項のみに焦点を当てています。
オペレーショナル エクセレンス
- ロールバック、手動承認テスト、パフォーマンス テストなどを可能にするために、ステージングと運用以外の環境の実装を検討してください。 ステージングをロールバック環境として使用すると、その環境を他の目的で使用できません。
次のステップ
- Azure App Service への継続的デプロイの概要
- コードのコミット、共有、および同期
- Azure Pipelines を使用して App Service にデプロイする
- Azure Web App for Containers にデプロイする
- Azure App Service でカスタム コンテナーを使用して継続的デプロイを構成する
- Application Insights との作業項目の統合について
- GitHub のコミット、pull request、および issue を Azure Boards の作業項目にリンクする