この包括的なガイドでは、GitHub Copilot アプリの最新化における高度な評価機能について説明し、アプリケーションの最新化評価プロセスの価値を最大限に高めるのに役立ちます。
アプリケーションの評価は、最新化の取り組みの重要な最初のステップです。 この記事では、評価レポートを効果的に操作し、さまざまなシナリオの評価を構成し、最新化プロセス全体で評価データを管理するのに役立つ、完全な評価ワークフローについて説明します。
評価を実行する前に構成する
評価を実行する前に、GitHub Copilot アプリのモダン化評価ウィンドウで [評価の構成 ] を選択して 評価 を構成します。
構成プロパティ
現時点では、評価の target、 capability、 os、および mode プロパティを構成できます。
既定では、評価は Azure Kubernetes Service (AKS)、Azure App Service、Azure Container Apps (ACA) をサービスターゲットとして使用して実行されます。
target: アプリを実行する Azure コンピューティング サービス。 使用するターゲットを決定していない場合は、複数のターゲットを選択します。 その後、評価レポートのターゲットを比較できます。価値 Description azure-aksAzure Kubernetes Service にアプリをデプロイするためのベスト プラクティス。 azure-appserviceAzure App Service にアプリをデプロイするためのベスト プラクティス。 azure-container-appsAzure Container Apps にアプリをデプロイするためのベスト プラクティス。 capability: アプリを最新化するためのターゲット テクノロジ。価値 Description containerizationアプリケーションをコンテナー化するためのベスト プラクティス。 openjdk11OpenJDK 11 に移行するためのベスト プラクティス。 openjdk17OpenJDK 17 に移行するためのベスト プラクティス。 openjdk21OpenJDK 21 に移行するためのベスト プラクティス。 os: アプリを実行する対象のオペレーティング システム。価値 Description linuxアプリケーションを Linux プラットフォームに移行するためのベスト プラクティス。 windowsアプリケーションを Windows プラットフォームに移行するためのベスト プラクティス。 mode: 分析モード。価値 Description issue-onlyソース コードを分析して、問題のみを検出します。 source-onlyソース コードを分析して、問題と使用されているテクノロジの両方を検出します。 fullソース コードを分析して、問題と使用されているテクノロジの両方を検出し、依存関係を一覧表示します。
例示
次の例では、いくつかの構成について説明します。
例 1: アプリを Linux コンテナーとして AKS に移行し、修正する必要がある問題を理解したいと考えています。 次の構成を使用します。
appcat: - target: - azure-aks os: - linux mode: issue-only例 2: App Service Linux にアプリを移行し、修正する必要がある問題を理解したいと考えています。 次の構成を使用します。
appcat: - target: - azure-appservice os: - linux mode: issue-only例 3: JDK21 にアプリを最新化し、修正する必要がある問題を理解したいと考えています。 次の構成を使用します。
appcat: - capability: - openjdk21 mode: issue-only
ツールが評価を実行すると、対話型ダッシュボードが自動的に開き、包括的な分析結果が提供されます。 複数の Azure サービス ターゲットを構成したら、それらを簡単に切り替えて移行方法を比較し、サービス固有の推奨事項を表示できます。
評価レポートを解釈する
評価レポートは、Azure の移行と最新化に対するアプリケーションの準備状況を理解するのに役立つ包括的な分析結果を提供します。 このセクションでは、レポート構造について説明し、結果を解釈して、情報に基づいた移行の決定を行うのに役立ちます。
レポート構造の概要
評価レポートは、いくつかの重要なセクションで構成されています。
- アプリケーション情報: Java バージョン、フレームワーク、ビルド ツール、プロジェクト構造、ターゲット Azure サービスなど、アプリケーションに関する基本情報。
- 問題の概要: 重要度の割合を持つドメイン別に分類された移行の問題の概要。
-
詳細分析: 詳細レポートは、次の 4 つのサブセクションにまとめられます。
- 問題: 注意が必要なすべての問題の簡潔な概要を提供します。
- 依存関係: アプリケーション内で検出されたすべての Java パッケージの依存関係を表示します。
- テクノロジ: 機能別にグループ化されたすべての埋め込みライブラリが表示され、アプリケーションで使用されているテクノロジをすばやく表示できます。
- 分析情報: 検出されたテクノロジを理解するのに役立つファイルの詳細と情報を表示します。
問題
[ 問題 ] タブを選択して、このパーツにアクセスします。このタブには、アプリケーションを Azure に正常に移行するために対処する必要がある、Cloud Readiness と Java Upgrade のさまざまな側面の分類された問題の一覧が表示されます。 次の表では、 ドメイン と 重要度 の値について説明します。
| ドメイン | Description |
|---|---|
| クラウドの準備 | アプリの依存関係を評価して、Azure サービスを提案し、クラウドネイティブの準備ができていることを確認します。 |
| Java アップグレード | バージョンのアップグレードに関する JDK とフレームワークの問題を特定します。 |
| 重要性 | Description |
|---|---|
| 必須 | Azure への移行で修正する必要がある問題。 |
| ポテンシャル | 移行に影響する可能性があり、レビューが必要な問題。 |
| オプション | 影響の少ない問題。 修正することをお勧めしますが、省略可能です。 |
詳細については、タイトルを選択して、報告された各問題を展開できます。 レポートには次の情報が表示されます。
- インシデントが発生したファイルの一覧と、影響を受けたコード行の数。 ファイルが Java ソース ファイルの場合は、ファイル行番号を選択すると、対応するソース レポートに移動します。
- 問題の詳細な説明。 この説明では、問題の概要を説明し、既知の解決策を提供し、問題または解決策に関するサポート ドキュメントを参照します。
依存関係
[ 依存関係 ] タブを選択して、このパーツにアクセスします。このタブには、アプリケーション内で検出されたすべての Java パッケージの依存関係が表示されます。
技術
[ テクノロジ ] タブを選択して、このパーツにアクセスします。このタブには、分析されたアプリケーションで、機能別にグループ化されたテクノロジの出現箇所が一覧表示されます。 このレポートは、アプリケーションで見つかったテクノロジの概要であり、各アプリケーションの目的をすばやく理解できるように設計されています。
Insights
[分析情報] タブを選択して、このパーツにアクセスします。検出されたテクノロジを理解するのに役立つファイルの詳細と情報を表示します。
評価レポートを運用する
効果的なレポート管理により、コラボレーションが可能になり、評価履歴が維持され、既存のワークフローと統合されます。
評価レポートのインポート
GitHub Copilot アプリの最新化で評価を直接実行するだけでなく、評価レポートをインポートすることもできます。 レポートは 、AppCAT CLI の結果 ( report.json、GitHub Copilot アプリのモダン化エクスポート レポート、Dr. Migrate のアプリ コンテキスト ファイルなど) から取得できます。
評価レポートを GitHub Copilot アプリの最新化にインポートするには、評価セクションで [インポート ] を選択するか、 Ctrl+Shift+P キーを押して 、評価レポートのインポートを検索します。
評価レポートのエクスポート
評価ダッシュボードでは、AppCAT によって検出された問題を表示し、移行ソリューションを選択して決定を決定できます。 レポートをエクスポートし、他のユーザーと共有することができます。 その場合、他のユーザーは自分で評価を実行する必要がなく、レポートをインポートし、評価と移行の決定を直接表示できます。
GitHub Copilot アプリの最新化から評価レポートをエクスポートするには、評価レポートを右クリックし、評価セクションで [エクスポート] を選択するか、Ctrl++キーを押して、評価レポートのエクスポートを検索します。
評価レポートを削除する
レポートが不要な場合は、削除することができます。
評価レポートを削除するには、[ 評価レポート ] を右クリックし、[ 削除] を選択します。