クイック スタート: GitHub Copilotモダン化エージェントをインストールして使用する

このクイック スタートでは、GitHub Copilotモダン化エージェントをインストールし、それを使用してサンプル アプリケーションを最新化する方法について説明します。

前提条件

  • GitHub Copilot サブスクリプション: 「Free」、 「Pro」、 「Pro+」、 「Business」、または「Enterprise」プラン。 Copilotプランを参照してください。
  • GitHub CLI: 認証用の GitHub CLI (gh) をインストールv2.45.0 以降。 gh のインストールを参照してください。

プラットフォームの要件

  • Windows: x64 または ARM64。
  • Linux: glibc 2.27 以降の x64 または ARM64 (Ubuntu 18.04 以降、Debian 10 以降、Fedora 29 以降、Linux 2.0 以降Azure)。
  • macOS: Apple Silicon または Intel。

モダン化エージェントをインストールする

最新化エージェントをインストールするか、最新バージョンに更新するには、次のコマンドを使用します。

次のいずれかのオプションを使用します。

オプション 1 - Winget (推奨):

winget install GitHub.Copilot.modernization.agent

プロンプトのないサイレント インストールの場合:

winget install GitHub.Copilot.modernization.agent --silent

オプション 2 - PowerShell ワンライナー:

iex (irm 'https://raw.githubusercontent.com/microsoft/modernize-cli/main/scripts/install.ps1')

オプション 3 - MSI インストーラー:

GitHubのリリースページから最新のMSIをダウンロードして実行。

インストール後、 コマンドを PATH で使用できるように新しいターミナルを開きます。 これらのコマンドは、初期インストールと最新バージョンへの更新の両方で機能します。 専用バージョンの更新コマンドは、今後のリリースで使用できるようになります。

インストールを確認します。

modernize --version

サンプル アプリケーションを取得する

このクイック スタートでは、サンプル アプリケーションを使用します。 Javaまたは.NETを選択します。

git clone https://github.com/Azure-Samples/PhotoAlbum-Java.git
cd PhotoAlbum-Java
git checkout -b modernize

対話型モードを使用する

開始する最も簡単な方法は、対話型モードを使用することです。 まず、GitHub CLI を使用して認証します。

gh auth login

次に、モダン化エージェントを実行します。

modernize

メイン メニューが表示されます。

○ What would you like to do?

  > Assess        Analyze your source application and generate an assessment report
    Plan          Create a modernization plan based on assessment findings
    Execute       Run tasks defined in your modernization plan
  ──────────────
    Upgrade       Upgrade your runtime and frameworks to the latest versions

手順 1: アプリケーションを評価する

  1. メイン メニューから [評価 ] を選択します。
  2. ターゲット リポジトリを指定する方法を選択します。 現在のディレクトリを使用するには[現在のフォルダー]、[ローカル パスまたはリモート Git URL を入力する手動入力]、[構成ファイルから JSON 構成ファイルからリポジトリを読み込む]を選択できます。 このクイック スタートでは、[ 現在のフォルダー] を選択します。
  3. 実行モードを選択します。 [ ローカルで評価 ] を選択してマシンで評価を実行するか、 クラウド エージェントに委任して 、クラウド エージェントが評価を並列で実行できるようにします。 このクイック スタートでは、[ ローカルで評価] を選択します。
  4. JavaアップグレードCloud 適合性などの評価ドメインを選択し、Enter キーを押します。
  5. 分析カバレッジやターゲット ランタイムなどの評価構成オプションを確認します。 [続行] で Enter キーを押して、推奨される既定値をそのまま使用するか、必要に応じて個々の設定を調整します。
  6. 既定の出力パスをそのまま使用するか、カスタム パスを入力し、 Enter キーを押して評価を開始します。
  7. 評価が完了するまで待ちます。

評価結果は、プロジェクト ディレクトリの .github\modernize\assessment\ に保存されます。 エージェントは、コード、依存関係、および構成を分析して、以下を識別します。

  • 古いフレームワークのバージョン
  • 非推奨 API
  • クラウドの互換性の問題
  • 移行の機会

手順 2: モダン化計画を作成する

評価が完了すると、エージェントは、特定された問題に基づいて最新化計画を作成するように求められます。

○ How would you like to continue?

  > 1. Create modernization plan
       Generate a plan.md file according to the identified issues
    2. Return to main menu
  1. 1 を選択 します。モダン化計画を作成します
  2. プラン名を入力するか、Enter キーを押して既定の名前を使用します。
  3. プロンプトとしてモダン化の目標を入力します。 既定では、評価結果に基づいて計画を作成するためのプロンプトが References the assessment summary and creates plan されます。 これを他の移行要求に置き換えることができます。次に例を示します。
    • migrate the database to Azure PostgreSQL
    • upgrade to Spring Boot 3
    • deploy to Azure Container Apps
  4. Enter キーを押してプランを生成します。

エージェントはコードベースを分析し、次を生成します。

  • プラン ファイル (.github/modernize/{plan-name}/plan.md): 詳細な戦略とアプローチ。
  • タスク リスト (.github/modernize/{plan-name}/tasks.json): 実行可能なステップの内訳。

ヒント

plan.mdを手動で編集して、明確化を追加したり、詳細を調整したりできます。 tasks.jsonを更新して、プランを実行する前にタスクを変更、並べ替え、追加、または削除することもできます。

手順 3: モダン化計画を実行する

プランを確認したら、プランを実行することを確認します。

○ How would you like to continue?

  > 1. Execute modernization plan
       Run the tasks defined in the modernization plan
    2. Return to main menu
  1. 1 を選択 します。モダン化計画を実行します。
  2. Enter キーを押してプランを実行します。
  3. エージェントが変更を適用するにつれて進行状況を監視します。

エージェントは、次の順序で各タスクを実行します。

  • 計画に従ってコードを変更します。
  • 変更後のビルドを検証します。
  • CVE をスキャンし、対処します。
  • 変更をコミットします。

手順 4: 結果を確認する

実行が完了したら、エージェントが行ったすべての変更をマージする前に確認できます。

  1. 変更を確認する: 現在のブランチの変更を確認します。

    git status
    git diff main
    
  2. pull request を作成する: 変更に問題がない場合は、チーム レビュー用の PR を作成します。

    gh pr create \
        --title "Modernization: migrate the app to azure" \
        --body "Automated modernization by GitHub Copilot agent"
    

次のステップ

フィードバックの提供

入力は重要です。 モダン化エージェントに関するフィードバックがある場合は、 github-copilot-appmod リポジトリで問題を作成するか、GitHub Copilotモダン化フィードバック フォーム を使用します。