Java 開発者向けの GitHub Copilot モダン化

この記事では、GitHub Copilotモダン化について説明します。これは、アプリケーションの最新化をエンドツーエンドでサポートする AI アシスタントです。

多くの場合、企業は開発サイクル全体で技術的負債を処理します。 Javaランタイム、フレームワーク、依存関係のアップグレードは、リソースを集中的に消費する一般的なタスクです。 同時に、多くの組織は、アプリケーション資産をクラウドに移行して最新化することを目指しています。 このプロセスには、以下が含まれます。

  • コード、構成、および依存関係の現在の状態の評価
  • Azure リソースの計画
  • 問題を修復して移行を成功させる

GitHub Copilot エージェント モードに基づいて構築された GitHub Copilot モダン化では、一般的なアップグレードと移行のシナリオに対して定義済みのタスクが提供され、Azure でアプリケーションを実行するための業界のベスト プラクティスが組み込まれています。 同時に、チームは独自のコーディング標準、組織ポリシー、既存のプラクティスを最新化プロセスに組み込むことができるようになります。

主要な機能の概要

  • アプリケーションの評価と計画: コード、構成、依存関係を分析します。 評価からデプロイまで、モダン化プロセスのすべてのタスクを視覚化するのに役立ちます。
  • コード変換: アップグレードと移行のシナリオでコード修復を提案して適用します。
  • ビルド、修正プログラムの適用、テスト: 修復後にプロジェクトが正常にビルドされたことを確認し、必要に応じて修正プログラムを適用します。 一般的な脆弱性と露出 (CVE) チェックを実行して、セキュリティの脆弱性への露出を減らします。 既存の単体テストを移行し、新しい単体テストを生成して最新化の結果を検証し、テスト カバレッジを向上させます。
  • コンテナー化とデプロイ: アプリのコンテナー化やその他の成果物用に Dockerfile を生成して、Azure へのデプロイを自動化します。

GitHub Copilot最新化により、GitHub Copilotの AI を利用した機能が統合され、複雑なアップグレード手順が自動化されます。 Maven プロジェクトと Gradle プロジェクトの両方をサポートし、Java バージョン 8、11、17、21、および 25 間のアップグレードをターゲットにします。 このツールは、Spring Boot フレームワークを使用するアプリケーションの最新化に特に重点を置きます。 アップグレード プロセスでは、すべてのログと出力を表示することで、制御が維持され、透明性が確保されます。

ヒント

Java ランタイムのアップグレードは、最新化の一部にすぎません。 古い JDK で最適だった JVM フラグは、古くなったり、非推奨になったり、新しい JDK のパフォーマンスに悪影響を受けたりする可能性があります。 アップグレード後、Java用 Azure コマンド ランチャー (jaz) は、新しい JDK バージョンとクラウド環境に合わせて調整された JVM フラグを自動的に適用できるため、古いチューニングは引き継がないでください。 java コマンドを起動スクリプトまたは Dockerfile のjazに置き換えて、メリットを得る。

App Assessments を使用して移行体験を開始し、次のようなクラウド対応性の移行の問題の概要を確認します。

  • Azure リソースを設定する手順
  • 次のベスト プラクティスに関する推奨事項
  • アプリケーション コードを変更するための推奨事項

コードの変更が必要なシナリオでは、GitHub Copilot モダン化によって修復手順がガイドされます。 この段階では、次のような一般的な問題に対して定義済みのタスクを使用できます。

  • パスワード ベースの認証からマネージド ID への切り替え
  • アマゾン ウェブ サービス (AWS) S3 から Azure Blob Storage への移行

GitHub Copilot モダン化で使用できる定義済みタスクの詳細については、 定義済みのタスクを参照してください。

開発に関しては、多くの場合、企業には厳密なプロセスと制御があり、カスタム スキルが登場します。 詳細については、「Quickstart: create and apply your own skills for GitHub Copilot modernizationを参照してください。

カスタム スキルは、以前に移行されたアプリケーションのコード コミットを参照できます。 これらのスキルは、他のアプリでも同様の問題の修復ガイドとして機能し、Copilot が複数のコードベースに実証済みのパターンを適用できるようにします。 移行が成功するたびに、ナレッジ ベースが拡張され、将来の修復が加速され、手動での作業が減ります。

GitHub Copilot のアップデートには、次の専用エージェントも含まれています。

  • アプリのビルドが正常に完了したことを確認する
  • CVE に対処して技術的負債を削減する
  • 単体テストを使用して動作の整合性を検証する

詳細については、 GitHub Copilot モダン化 Java ユーティリティを参照してください。

最新化はコードをアップグレードすることだけではなく、クラウド用にアプリケーションを準備することです。 Azure App Service、Azure Container Apps、Azure Kubernetes Service (AKS)、または AKS Automatic をターゲットにしているかどうかに関係なく、Copilot は迅速かつ自信を持ってアクセスするのに役立ちます。

こちらも参照ください

GitHub Copilot モダン化に関する FAQ