はじめに

完了

あなたは、オンライン アウトドア衣料小売業者のソフトウェア エンジニアとして働いているとします。 この小売業者のオンライン ネットショップ (クラウドネイティブでマイクロサービス ベースの .NET アプリ) のデプロイと更新を担当しています。

プロジェクト要件を満たし、チームのアジャイル開発プラクティスを強化するために、GitHub Actions と Azure Pipelines を使用して継続的インテグレーションと継続的デプロイ (CI/CD) を比較することにしました。 CI/CD パイプラインでは、一連の自動化された手順を使用して、アプリをコンパイルし、ビルドからすべての環境にデプロイします。

現在の Web にはマイクロサービス アーキテクチャがあり、各マイクロサービスは個別にデプロイされるため、1 つのサービスに対して CI/CD を設定することから始めます。

製品サービス という名前の .NET Web API は、Web サイトのすべてのバックエンド カタログ機能をサポートします。 このモジュールでは、製品サービスの CI/CD パイプラインを実装します。

このモジュールに従って操作すると、以下の作業を実行できます:

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

このモジュールでは、お使いの Azure サブスクリプションを使用してリソースをデプロイします。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

重要

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

前提条件

  • DevOps プラクティスに関する概念的知識。
  • コンテナー、Docker、AKS に関する概念的な知識。
  • 所有者のアクセス許可を使用した Azure サブスクリプションへのアクセス。
  • GitHub アカウントへのアクセス。
  • 次のセクションで説明するように、Visual Studio Code または GitHub Codespaces で "開発コンテナー" を実行し、設定できる。

開発コンテナー

このモジュールには、開発コンテナー (または "dev コンテナー") を定義する構成ファイルが含まれています。 開発コンテナーを使うと、必要なツールで事前に構成された標準化された環境が保証されます。

開発コンテナーは、2 つの環境のいずれかで実行できます。 開始する前に、次のいずれかのリンクの手順に従って環境を設定してください (Docker や必要な Visual Studio Code 拡張機能のインストールなど)。