本快速入門示範如何使用 GitHub Copilot 應用程式現代化來評估和移轉 Java 專案。 在本快速入門中,您會安裝和設定擴充功能,然後評估並移轉範例專案。 例如,您可以使用預先定義的工作來更新 Azure SQL 資料庫連線,以使用 Azure 受控識別,而不是使用者名稱和密碼。
下列影片示範 GitHub Copilot 應用程式現代化如何使用 AppCAT 來協助評估 Java 專案以移轉至 Azure:
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 或更新版本。
- Maven 或 Gradle 建置 Java 專案。
備註
如果您使用 Gradle,則僅支援 Gradle 包裝函式 5+ 版。 不支援 Kotlin 網域特定語言 (DSL)。
IntelliJ IDEA 尚不支援此功能 My Tasks 。
升級 JDK 和相依性版本
有兩種方法可以升級您的 JDK 版本。 這兩種方式都會使用 Visual Studio Code 中的 GitHub Copilot 應用程式現代化 窗格,您可以從側邊欄存取。
升級 JDK 版本的其中一種方式是在 [快速入門] 區段中選取 [升級執行階段和架構]。 另一種方法是在「任務 - 升級任務」區段中執行「升級的 Java 執行階段」任務。 如需詳細資訊,請參閱 快速入門:使用 GitHub Copilot 應用程式現代化升級 Java 專案。
若要升級 Spring 架構或協力廠商相依性,請在 TASKS - 升級作業區段中執行升級 Java 架構作業。 如需詳細資訊,請參閱 使用 GitHub Copilot 應用程式現代化升級 Java 架構或協力廠商相依性。
評估雲端整備程度
使用下列步驟,透過解決方案評量啟動移轉程式。 此評估可協助您了解雲端整備挑戰是什麼,以及它們的影響程度。 它還提供了推薦的解決方案。 解決方案建議包含設定 Azure 資源的參考、新增組態,以及進行程式碼變更。
複製 Java migration Copilot 範例 存放庫,然後切換到 source 分支。
在 Visual Studio Code 中,開啟範例存放庫中的 mi-sql-public-demo 項目資料夾。
在側邊欄上,選取 GitHub Copilot 應用程式現代化窗格,您可以在其中選取 [移轉至 Azure] 或 [評估] 區段中的 [執行評定]。
具有代理程式模式的 GitHub Copilot 聊天視窗隨即開啟,以呼叫現代化評估員來執行應用程式現代化評估。 選取 [繼續] 以確認。
現代化評估器現在打開 appcat.log。 此檔案顯示執行應用程式評定的 AppCAT 的記錄。 選取 [繼續] 以再次確認。
現代化評估員會先檢查您的本機環境。 如果未安裝 AppCAT 及其相依性,代理程式會協助您安裝它們。 安裝之後,代理程式會呼叫 AppCAT 來評估目前的專案。 此步驟可能需要幾分鐘的時間才能完成。
完成分析後,現代化評估員會在開啟的 評估報告中產生雲端整備問題的分類檢視。
檢閱摘要報告時,您可以從問題資料庫移轉 (Microsoft SQL) 底下的解決方案清單中選取 [移轉至 Azure SQL 資料庫 (Spring)]。 然後,選取 [執行工作] 以移至程式碼補救階段。
套用預先定義的任務
針對移轉,Copilot 會針對移轉至 Azure 時可能面臨的常見移轉案例提供預先定義的工作。 例如,使用 mi-sql-public-demo 範例時, 資料庫移轉 (Microsoft SQL) 工作會將 Azure SQL 資料庫連線變更為使用 Azure 受控識別,而不是使用者名稱和密碼。
若要套用預先定義的工作,請使用下列步驟:
在 [評量報告] 中,選取 [執行工作]。 Copilot 聊天視窗隨即開啟,並選取客服專員模式。
Copilot 代理程式使用各種工具進行應用程式現代化,每個工具可能需要確認才能繼續。 會先產生 plan.md 和 progress.md,您可以檢閱 plan.md 並在必要時進行變更。
手動 輸入 繼續 確認並開始遷移過程。
在進行任何程式碼變更之前,代理程式會檢查版本控制系統狀態,並簽出新的分支進行移轉。
重複選擇或輸入 繼續, 確認工具或指令的使用,等待程式碼變更完成。
驗證迭代
程式碼變更完成後,手動輸入 繼續 進行驗證並修正反覆專案迴圈。 此迴圈包含下列五個部分:
- 使用
Validate-CVEs工具。 此工具會嘗試偵測目前相依性中的常見弱點和暴露 (CVE) 並修正它們。 - 使用
Build-Project工具。 此工具會嘗試解決任何建置錯誤。 - 使用
Consistency-Validation工具。 該工具分析代碼的功能一致性。 - 使用
Run-Test工具。 此工具會分析專案是否有單元測試失敗,並自動產生修復這些失敗的計劃。 該Run-Test工具迭代運行單元測試並修復任何故障。 - 使用
Completeness-Validation工具。 此工具會擷取初始程式碼移轉中遺漏的移轉項目,並修正它們。
所有程序完成後,輸入continue以產生移轉摘要作為最後一個步驟。 檢閱程式碼變更,並選取 [ 保留] 來確認。
產生單元測試案例
若要產生單元測試案例,請使用下列步驟:
在側邊欄上,選取 GitHub Copilot 應用程式現代化 窗格。
在 [工作] 區段中,開啟 [品質與安全性工作],然後選取 [產生單元測試案例]。
代理程式會產生單元測試,並建立 TestReport 來顯示產生前後的測試結果。 如需詳細資訊,請參閱 快速入門:使用 GitHub Copilot 應用程式現代化產生單元測試。