はじめに

完了

あなたは、eShopOnContainers という名前のオンライン小売業者のソフトウェア開発者であるとしましょう。 この小売業者のオンライン ネットショップは、クラウドネイティブなマイクロサービスベースの ASP.NET Core アプリです。 チームのアジャイル開発プラクティスを強化するために、あなたは C ontinuous I ntegration (継続的インテグレーション) と C ontinuous D eployment (継続的配置) (CI/CD) パイプラインを実装します。 パイプラインには、全環境を通じてコンパイル、テスト、構成、およびビルド環境からのデプロイを行うための一連の自動化されたタスクが含まれます。 あなたは、要件を満たすために GitHub Actions を使用することに決めました。 また、各マイクロサービスは個別にデプロイできるため、1 つのサービスに対する CI/CD の有効化から始めることにしました。

このモジュールでは、GitHub Actions を使用して CI/CD パイプラインを実装するプロセスについて説明します。 まず、eShopOnContainers の簡略化された改良バージョンから始めます。これは次のガイド用のコンパニオン参照アプリです:「.NET Microservices:Architecture for Containerized .NET Applications」(.NET マイクロサービス: コンテナー化された .NET アプリケーションのアーキテクチャ) という本のカバーです。 この新しいバージョンの参照アプリには、買い物かごで精算時に使用できる割引クーポン機能が含まれています。 この機能は、クーポン サービスと呼ばれる ASP.NET Core Web API によってサポートされています。 このモジュールでは、クーポン サービスに対して CI/CD を有効にします。

このモジュールでは、お使いの Azure サブスクリプションを使用してリソースをデプロイします。 これらのリソースに対して予想されるコストを見積もるには、デプロイするリソースの事前構成済み Azure 計算ツールの見積もりを確認してください。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

重要

このモジュールでは、お使いの Azure サブスクリプションを使用します。 Azure サブスクリプションでの不要な料金請求を避けるために、このモジュールが完了したら、Azure リソースをプロビジョニング解除することを忘れないようにしてください。

学習の目的

このモジュールでは、次のことを行います。

  • コンテナー レジストリに対して GitHub Actions を認証する。
  • GitHub Actions によって使用される機密情報を安全に格納する。
  • マイクロサービス用のコンテナー イメージをビルドする GitHub アクションを実装する。
  • マイクロサービス コードを変更してコミットし、ビルドをトリガーする。
  • Kubernetes クラスターにコンテナーをデプロイする GitHub アクションを実装する。
  • Helm チャートを変更してコミットし、デプロイをトリガーする。
  • マイクロサービスを以前のデプロイに戻す。

前提条件

  • DevOps プラクティスの概念に関する初心者レベルの知識
  • コンテナーおよび AKS の概念に関する初心者レベルの知識
  • 所有者 特権を使用した Azure サブスクリプションへのアクセス
  • GitHub アカウントへのアクセス