はじめに
オンラインの屋外衣料品小売業者のソフトウェア エンジニアとして働いているとします。 あなたは、小売業者のオンライン ネットショップ (クラウドネイティブのマイクロサービス ベースの .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 拡張機能のインストールなど)。
- Visual Studio Code とローカル コンピューターでサポートされている Docker 環境。
- GitHub Codespaces (料金がかかる場合があります)。