この記事では、GitHub Copilot アプリの最新化について説明します。これは、アプリケーションの最新化をエンドツーエンドでサポートする AI アシスタントです。
企業は開発サイクル全体で技術的負債を処理することが多く、Java ランタイム、フレームワーク、依存関係のアップグレードは、リソースを集中的に消費する一般的なタスクです。 同時に、多くの組織は、アプリケーション資産をクラウドに移行して最新化することを目指しています。これには次のものが含まれます。
- コード、構成、および依存関係の現在の状態の評価
- Azure リソースの計画
- 問題を修復して移行を成功させる
GitHub Copilot エージェント モードに基づいて構築された GitHub Copilot アプリの最新化では、一般的なアップグレードと移行のシナリオに対して定義済みのタスクが提供され、Azure でアプリケーションを実行するための業界のベスト プラクティスが組み込まれています。 同時に、チームは独自のコーディング標準、組織ポリシー、既存のプラクティスを最新化プロセスに組み込むことができるようになります。
主要な機能の概要
- アプリケーションの評価と計画: コード、構成、依存関係を分析します。 評価からデプロイまで、モダン化プロセスのすべてのタスクを視覚化するのに役立ちます。
- コード変換: アップグレードと移行のシナリオでコード修復を提案して適用します。
- ビルド、修正プログラムの適用、テスト: 修復後にプロジェクトが正常にビルドされたことを確認し、必要に応じて修正プログラムを適用します。 一般的な脆弱性と露出 (CVE) チェックを実行して、セキュリティの脆弱性への露出を減らします。 既存の単体テストを移行し、新しい単体テストを生成して最新化の結果を検証し、テスト カバレッジを向上させます。
- コンテナー化とデプロイ: アプリのコンテナー化やその他の成果物用に Dockerfile を生成して、Azure へのデプロイを自動化します。
GitHub Copilot アプリの最新化により、GitHub Copilot の AI を利用した機能と、 OpenRewrite などのオープンソース ツールが統合され、複雑なアップグレード手順が自動化されます。 Maven プロジェクトと Gradle プロジェクトの両方をサポートし、Java バージョン 8、11、17、および 21 の間のアップグレードをターゲットにします。 このツールは、Spring Boot フレームワークを使用するアプリケーションの最新化に特に重点を置きます。 アップグレード プロセスでは、すべてのログと出力を表示することで、制御が維持され、透明性が確保されます。
App Assessments を使用して移行体験を開始し、次のようなクラウド対応性の移行の問題の概要を確認します。
- Azure リソースを設定する手順
- 次のベスト プラクティスに関する推奨事項
- アプリケーション コードを変更するための推奨事項
コードの変更が必要なシナリオでは、GitHub Copilot アプリの最新化によって修復手順がガイドされます。 この段階では、次のような一般的な問題に対して定義済みのタスクを使用できます。
- パスワード ベースの認証からマネージド ID への切り替え
- アマゾン ウェブ サービス (AWS) S3 から Azure Blob Storage への移行
GitHub Copilot アプリの最新化で使用できる定義済みタスクの詳細については、 定義済みのタスクを参照してください。
開発に関しては、多くの場合、企業には厳密なプロセスと制御があり、そこで顧客定義のタスクが発生します。 詳細については、「クイック スタート: GitHub Copilot アプリの最新化のための独自のタスクを作成して適用する」を参照してください。
ユーザー定義のタスクは、以前に移行されたアプリケーションのコード コミットを分析することによって自動的に生成されます。 これらのタスクは、他のアプリの同様の問題の修復ガイドとして機能し、Copilot が複数のコードベースに実証済みのパターンを適用できるようにします。 移行が成功するたびに、ナレッジ ベースが拡張され、将来の修復が加速され、手動での作業が削減されます
GitHub Copilot アプリの最新化には、次の特殊なエージェントが追加されています。
- アプリのビルドが正常に完了したことを確認する
- CVE に対処して技術的負債を削減する
- 単体テストを使用して動作の整合性を検証する
詳細については、 GitHub Copilot アプリのモダン化 Java ユーティリティを参照してください。
最新化はコードをアップグレードすることだけではなく、クラウド用にアプリケーションを準備することです。 Azure App Service、Azure Container Apps、Azure Kubernetes Service (AKS)、または AKS Automatic をターゲットにしているかどうかに関係なく、Copilot は迅速かつ自信を持ってアクセスするのに役立ちます。