このクイックスタートでは、GitHub Copilot アプリの最新化を使用して Java プロジェクトを評価および移行する方法について説明します。 このクイック スタートでは、拡張機能をインストールして構成し、サンプル プロジェクトを評価して移行します。 たとえば、定義済みのタスクを使用して、ユーザー名とパスワードの代わりに Azure マネージド ID を使用するように Azure SQL データベース接続を更新します。
次のビデオでは、GitHub Copilot アプリの最新化で AppCAT を使用して、Azure への移行のために Java プロジェクトを評価する方法を示します。
Prerequisites
- アクティブなサブスクリプションを持つ Azure アカウント。 無料で作成できます。
- 任意のプランでアクティブな GitHub Copilot サブスクリプションを持つ GitHub アカウント。
- 次のいずれかの IDE:
-
Visual Studio Code の最新バージョン。 バージョン 1.101 以降である必要があります。
- Visual Studio Code の GitHub Copilot。 セットアップ手順については、「 Visual Studio Code で GitHub Copilot を設定する」を参照してください。 必ず Visual Studio Code 内で GitHub アカウントにサインインしてください。
- GitHub Copilot アプリの最新化。 インストール後に Visual Studio Code を再起動します。
- 最新バージョンの IntelliJ IDEA。 バージョン 2023.3 以降である必要があります。
- GitHub Copilot。 バージョン 1.5.59 以降である必要があります。 詳細については、「 IntelliJ IDEA で GitHub Copilot を設定する」を参照してください。 IntelliJ IDEA 内の GitHub アカウントに必ずサインインしてください。
- GitHub Copilot アプリの最新化。 インストール後に IntelliJ IDEA を再起動します。 GitHub Copilot がインストールされていない場合は、GitHub Copilot アプリの最新化を直接インストールできます。
-
Visual Studio Code の最新バージョン。 バージョン 1.101 以降である必要があります。
- Java 21 以降。
- Java プロジェクトをビルドするための Maven または Gradle 。
注
Gradle を使用している場合は、Gradle ラッパー バージョン 5 以降のみがサポートされます。 Kotlin ドメイン固有言語 (DSL) はサポートされていません。
IntelliJ IDEA では、 My Tasks 関数はまだサポートされていません。
JDK と依存関係のバージョンをアップグレードする
JDK バージョンをアップグレードするには、2 つの方法があります。 どちらの方法でも、Visual Studio Code の GitHub Copilot アプリのモダン化 ウィンドウが使用されます。このウィンドウはサイドバーからアクセスできます。
JDK バージョンをアップグレードする方法の 1 つは、クイック スタート セクションで [ランタイムのアップグレード] と [フレームワーク] を選択することです。 もう 1 つの方法は、[TASKS - Upgrade Tasks]\(タスク - アップグレード タスク\) セクションでアップグレードされた Java ランタイム タスクを実行することです。 詳細については、「 クイック スタート: GitHub Copilot アプリのモダン化を使用して Java プロジェクトをアップグレードする」を参照してください。
Spring フレームワークまたはサードパーティの依存関係をアップグレードするには、[タスク - アップグレード タスク] セクションで Java Framework のアップグレード タスクを実行します。 詳細については、「 GitHub Copilot アプリの最新化を使用した Java フレームワークまたはサード パーティの依存関係のアップグレード」を参照してください。
クラウドの準備状況を評価する
ソリューション評価を使用して移行プロセスを開始するには、次の手順に従います。 この評価は、クラウドの準備の課題とその影響を理解するのに役立ちます。 また、推奨されるソリューションも提供します。 ソリューションの推奨事項には、Azure リソースの設定、構成の追加、コードの変更に関する参照が含まれています。
Java 移行のコピー サンプル リポジトリを複製し、ソース ブランチにチェックアウトします。
Visual Studio Code で、サンプル リポジトリの mi-sql-public-demo プロジェクト フォルダーを開きます。
サイドバーで、GitHub Copilot アプリのモダン化ウィンドウを選択します。このウィンドウでは、[評価] セクションで [Azure への移行] または [評価の実行] を選択できます。
エージェント モードの GitHub Copilot チャット ウィンドウが開き、モダン化評価者を呼び出してアプリのモダン化評価を実行します。 [続行] を選択して確定します。
モダン化評価者が appcat.logを開きます。 このファイルには、アプリの評価を実行する AppCAT を実行するためのログが表示されます。 [ 続行] を選択してもう一度確認します。
最新化評価者は、最初にローカル環境を検証します。 AppCAT とその依存関係がインストールされていない場合、エージェントはそれらをインストールするのに役立ちます。 インストール後、エージェントは AppCAT を呼び出して現在のプロジェクトを評価します。 この手順が完了するまでに数分かかる場合があります。
分析が完了すると、最新化評価者は、開かれた 評価レポートでクラウドの準備の問題の分類されたビューを生成します。
概要レポートを確認する場合は、問題のデータベース 移行 (Microsoft SQL) の下にあるソリューションの一覧から [Azure SQL Database への移行 (Spring)] を選択できます。 次に、[ タスクの実行 ] を選択して、コード修復ステージに移動します。
定義済みタスクを適用する
移行の場合、Copilot には、Azure への移行時に直面する可能性がある一般的な移行シナリオに関する定義済みのタスクが用意されています。 たとえば、 mi-sql-public-demo サンプルでは、 データベース移行 (Microsoft SQL) タスクは、ユーザー名とパスワードの代わりに Azure マネージド ID を使用するように Azure SQL データベース接続を変更します。
定義済みのタスクを適用するには、次の手順に従います。
評価レポートで、[タスクの実行] を選択します。 Copilot チャット ウィンドウが開き、エージェント モードが選択されています。
Copilot エージェントは、アプリの最新化にさまざまなツールを使用します。各ツールの続行には確認が必要な場合があります。 plan.md と progress.md が最初に生成され、必要に応じて plan.md を確認し、そこで変更を加えることができます。
continue を手動で入力して確認し、移行プロセスを開始します。
コードを変更する前に、エージェントはバージョン管理システムの状態を確認し、移行のために新しいブランチをチェックアウトします。
[続行] を繰り返し選択または入力して、ツールまたはコマンドの使用を確認し、コードの変更が完了するまで待ちます。
検証の反復
コードの変更が完了したら、手動入力を続行して検証を 続行 し、反復ループを修正します。 このループには、次の 5 つの部分が含まれます。
-
Validate-CVEsツールを適用します。 このツールは、現在の依存関係で一般的な脆弱性と露出 (CVE) を検出し、それらを修正しようとします。 -
Build-Projectツールを適用します。 このツールは、ビルド エラーの解決を試みます。 -
Consistency-Validationツールを適用します。 このツールは、コードを分析して機能の一貫性を確認します。 -
Run-Testツールを適用します。 このツールは、単体テストの失敗についてプロジェクトを分析し、それらを修正するための計画を自動的に生成します。Run-Testツールは、単体テストを繰り返し実行し、エラーを修正します。 -
Completeness-Validationツールを適用します。 このツールは、最初のコード移行で見逃した移行項目をキャッチし、修正します。
すべてのプロセスが完了したら、最後の手順として移行の概要を生成し 続けます 。 コードの変更を確認し、[ 保持] を選択して確認します。
単体テスト ケースの生成
単体テスト ケースを生成するには、次の手順に従います。
サイドバーで、 GitHub Copilot アプリの最新化 ウィンドウを選択します。
[タスク] セクションで、[品質] と [セキュリティ タスク] を開き、[単体テスト ケースの生成] を選択します。
エージェントは単体テストを生成し、生成前と生成後にテスト結果を表示する TestReport を作成します。 詳細については、「 クイック スタート: GitHub Copilot アプリの最新化を使用して単体テストを生成する」を参照してください。