次の方法で共有


GitHub Copilot モダン化エージェントを使用してインフラストラクチャを準備し、アプリケーションをデプロイする

GitHub Copilot モダン化エージェントは、インフラストラクチャのプロビジョニング、コンテナー化、デプロイをサポートしています。 これらの機能は、エージェント全体で使用される同じ プラン作成→プラン実行 モデルに従います。

ワークフローは、次の 2 つのフェーズで構成されます。

  1. インフラストラクチャの準備: Azure インフラストラクチャを生成してプロビジョニングします。
  2. コンテナー化とデプロイ: アプリケーションをコンテナー化してデプロイします。

これら 2 つのフェーズは独立しています。 それらを一緒に実行することも、各フェーズを個別に使用することもできます。 たとえば、既に環境がプロビジョニングされている場合はインフラストラクチャの準備をスキップし、今すぐインフラストラクチャを準備して後でデプロイします。

前提条件

  • Azure サブスクリプション: インフラストラクチャ プロビジョニング用のアクティブな Azure サブスクリプション。
  • CLI の最新化: クイックスタート に従ってインストールと認証を行います。

フェーズ 1: インフラストラクチャの準備

モダン化エージェントは、指定した入力に基づいて Azure インフラストラクチャをプロビジョニングする計画を作成します。 この機能には、ネットワーク、ID、ガバナンス、およびセキュリティ基盤をカバーする、アプリケーションに合わせて調整された Azure ランディング ゾーン を設計する機能が含まれます。

入力

エージェントは、さまざまな入力を使用してインフラストラクチャ計画を通知できます。

  • アプリケーション ソース コード: テクノロジ スタック、依存関係、およびリソース要件を決定するためのコードベース分析。
  • 評価レポート: modernize assess、Azure Migrate、またはその他の移行および評価ツールからのレポート。
  • アーキテクチャ図: 移行前アーキテクチャダイアグラムまたはリポジトリ内のドキュメントの設計。
  • コンプライアンスとセキュリティの要件: 組織のポリシー、セキュリティ標準、またはランディング ゾーンのガイドライン。リポジトリ内のドキュメントとして、またはプロンプトで自然言語として提供されます。

インフラストラクチャ 計画を作成する

インフラストラクチャのニーズを説明するプロンプトで modernize plan create を使用します。

modernize plan create "help create azure infrastructure for my app" --plan-name infra-setup

エージェントは、提案された Azure アーキテクチャとプロビジョニングする詳細なリソース一覧を含むプランを生成します。 既定では、このプランは IaC ファイルの生成とリソース プロビジョニングの両方を対象とします。 プロンプトを使用して IaC ファイルの生成のみを要求できます。

ヒント

プロンプトでさまざまな入力と基本設定を組み合わせます。 例えば次が挙げられます。

  • "create an Azure landing zone tailored to my application's architecture and requirements"
  • "create azure infrastructure based on the assessment report, following our compliance policies in docs/security-requirements.md"
  • "generate Bicep files for the target architecture in the design doc, don't provision yet"
  • "provision azure resources based on the architecture diagram and assessment findings"

プランを確認する

実行前に出力ファイルを確認します。

  • プラン ファイル (.github/modernize/infra-setup/plan.md): インフラストラクチャ戦略と提案されたアーキテクチャ。
  • タスク リスト (.github/modernize/infra-setup/tasks.json): エージェントが実行する特定のタスク。

両方のファイルを編集してリソース構成を調整したり、実行前にアプローチを変更したりできます。

インフラストラクチャ 計画を実行する

プランを実行します。

modernize plan execute --plan-name infra-setup

インフラストラクチャの確認

生成されたインフラストラクチャ コードを確認し、Azure portal または Azure CLI を使用して Azure リソースを確認します。

git status
git diff main

フェーズ 2: コンテナー化とデプロイ

2 つ目のプランを使用して、アプリケーションをコンテナー化してデプロイします。

このフェーズでは、既に移行またはアップグレードしたアプリケーション ソース コードが必要です。 コンテナー化とデプロイに進む前に、コードの最新化を完了します。

デプロイ計画を作成する

modernize plan create "containerize and deploy my app to azure, subscription: <sub-id>, resource group: <rg-name>" --plan-name deploy

一緒にコンテナー化してデプロイしたり、個別のプランで個別に処理したりできます。

  • コンテナー化: プロジェクトの Dockerfile を生成し、コンテナー イメージのビルドを検証します。
  • デプロイ: ターゲットの Azure ホスティング サービスに基づいて必要なすべての構成ファイルとマニフェストを作成し、アプリケーションをデプロイし、将来使用するために再利用可能なデプロイ スクリプトを生成します。

ヒント

ニーズに合わせてプロンプトをカスタマイズします。

  • "containerize my app and create dockerfile": デプロイせずにコンテナー化します。
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": 既にコンテナー化されたアプリケーションをデプロイします。

プランを確認する

生成されたプラン ファイルを確認します。

  • プラン ファイル (.github/modernize/deploy/plan.md): コンテナー化とデプロイの戦略。
  • タスク リスト (.github/modernize/deploy/tasks.json): 特定の展開タスク。

展開計画を実行する

modernize plan execute --plan-name deploy

デプロイメントを確認する

  1. コードの変更を確認する: 生成された Dockerfile、配置マニフェスト、および構成の変更を確認します。

    git status
    git diff main
    
  2. 実行中のアプリケーションを検証する: ターゲット ホスティング サービスによって提供される URL を使用して、デプロイされたアプリケーションにアクセスします。

対話型モードを使用する

modernizeを実行し、メニューから [最新化計画の作成] を選択して、対話型 TUI を使用して両方のフェーズを実行することもできます。

次のステップ