批次評估讓您能同時分析多個應用程式,全面呈現整個應用程式的現代化現況。 本文將引導您有效評估多個資料庫的過程。
批次評估對於遷移規劃特別有價值,因為它能讓你有效地同時評估各種應用程式的準備度與需求。 透過批次評估,您可以同時評估不同的資料庫,並為每個應用程式取得詳細的評估報告。 它會產生兩種報告來支持您的遷移規劃:
- 每個應用程式報告:提供對個別儲存庫層級所識別所有現代化問題的詳細見解。
- 彙整報告:呈現所有評估應用程式的整體觀點,提供摘要見解、Azure 服務、目標平台及升級路徑的建議。 此外,彙整報告還包含捷徑,方便你輕鬆存取每個應用程式的報告。
批次評量帶來以下好處:
跨應用程式可見性:
- 彙整報告:全面檢視各應用。
- 跨儲存庫分析:識別應用程式間的共通模式與依賴關係。
- 優先排序洞察:了解哪些應用程式需要立即關注。
規模與效率:
- 平行處理:使用雲端編碼代理同時處理多個資料庫。
- 自動化工作流程:整合 CI/CD 管線以進行排程評估。
- 節省時間:將總評估時間從數週縮短為數小時。
先決條件
- 命令列介面的現代化。
- 存取你想評估的所有資料庫。
- GitHub 認證已設定為 (
gh auth login)。
設定存放庫
要啟用批次評估,請在您的工作目錄中建立 .github/modernize/repos.json 一個檔案,列出所有你想評估的儲存庫。
確保你擁有正確的儲存庫權限,或是分叉它們。
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
},
{
"name": "eShopOnWeb",
"url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
}
]
儲存庫配置
每篇條目要求:
- 名稱:對資料庫的友善名稱(用於報告與儀表板)。
- 網址:Git 克隆 URL 以 HTTPS 格式呈現。
小提示
只要你有權限,你可以包含不同組織的資料庫,並使用不同的認證方法。
檔案位置
您必須將 repos.json 檔案放置於 .github/modernize/repos.json。
現代化代理在執行批次操作時會自動偵測此檔案。
執行批次評估
有兩種執行模式可供選擇:
- 本地執行:現代化代理會依序在你的本地機器上處理一個又一個的儲存庫。 此模式最適合較小的應用群或初期測試。
- 雲端編碼代理委派:現代化代理將任務提交給 GitHub 雲端編碼代理,進行雲端平行處理。 此模式在多倉庫場景中速度更快。
小提示
透過使用 Cloud Coding Agent 委派,你可以在所有儲存庫間實現平行執行。 此方法大幅縮短大型投資組合的總評估時間。
互動模式(本地評估)
執行現代化代理程式:
modernize代理程式偵測該
repos.json檔案並顯示儲存庫清單:選擇要評估的儲存庫,並按下
Enter確認你的選擇。-
按
Ctrl+A選擇所有儲存庫。 -
使用方向鍵 導航,按鍵
Space選擇個別儲存庫。
-
按
選擇 1. 評估申請 從主選單。
要執行評估,請選擇在本地評估或委託給雲端編碼代理。 選擇 1:在地評估。
代理程式會自動:
評估結束後,客服會自動開啟彙整報告。
互動模式(委派給雲端編碼代理)
首先,在每個應用程式儲存庫中配置雲端編碼代理程式。 要設定雲端編碼代理程式,請分支範例倉庫。
.NET 應用程式的設定
配置為在 Windows 上執行 .NET Framework 應用程式
預設情況下,Copilot 編碼代理程式運行於 Ubuntu Linux 環境中。 對於 .NET Framework 應用程式,你需要 Windows 環境。 要啟用它,請在.github/workflows/copilot-setup-steps.yaml你的應用程式倉庫分支中配置main,如以下範例所示:
# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling
name: "Copilot Setup Step (Windows)"
on:
workflow_dispatch:
jobs:
copilot-setup-steps:
runs-on: windows-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
了解更多: 透過 Copilot 設定步驟自訂 Copilot 的開發環境
停用防火牆
請在儲存庫設定中停用 Copilot 編碼代理的內建防火牆,如下圖所示:
Java 應用程式的設定
請如以下範例所示,在你的倉庫設定中以雲端編碼代理(Cloud Coding Agent)配置 GitHub Copilot 現代化 MCP 伺服器:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Steps
執行現代化代理程式:
modernize代理程式偵測該
repos.json檔案並顯示儲存庫清單:選擇要評估的儲存庫,並按下
Enter確認你的選擇。-
按
Ctrl+A選擇所有儲存庫。 -
使用方向鍵 導航,按鍵
Space選擇個別儲存庫。
-
按
選擇 1. 評估應用程式 從主選單。
要執行評估,請選擇 2。委託給雲端編碼代理。
代理程式會自動將每個資料庫的評估任務委派給雲端編碼代理程式,並在雲端平行執行。
代理會將每個應用程式的評估結果拉回本地,並在本地產生彙整報告。
評估結束後,客服會自動開啟彙整報告。
非互動模式(CLI)
你也可以直接指定指令參數來使用非互動模式。 使用 modernize assess 命令:
在地評估:
modernize assess --multi-repo
透過委派雲端編碼代理來評估:
modernize assess --delegate cloud
欲了解更多資訊,請參閱 assess - CLI 指令。
理解彙整報告
彙整報告提供以下評估應用程式的全面概覽:
Dashboard
- 投資組合健康概況:應用程式總數、需要升級的數量,以及總體阻擋因素和問題數量。
- 技術分發:使用了哪些框架,以及有多少應用程式共享這些框架。
- 工作量分配:判斷整體遷移是小型還是大型專案。
建議
- Azure 服務:將當前的相依性映射到建議的 Azure 等效項。 跨應用程式的共用依賴是一次性決定的,避免每個應用程式都重新設計。
- 目標平台:指導主機選擇,如容器應用程式與 AKS 的選擇,並呈現整合機會。
- 升級路徑:識別哪些應用程式需要框架升級作為前提,將升級工作與遷移工作區分開來。
- 遷移波:依照準備度與風險將應用程式排序為階段。 這種方式能實現初步成功,同時準備更複雜的應用程式。
申請評估矩陣
- 每個應用程式的快速概述,涵蓋框架、目標平台、升級建議、問題分解(強制、潛在、可選)、工作量大小等。
- 需要時提供個別應用程式報告連結,方便深入分析。
批次評估排除故障
常見問題
儲存庫存取錯誤:
- 請使用
gh auth status驗證 GitHub 身份驗證。 - 確保你能存取
repos.json中列出的所有儲存庫。
複製失敗:
- 請確認儲存
repos.json庫的網址是否正確且可存取。 - 確保你擁有所有資料庫的正確存取權限。
- 檢查你的網路連線和 VPN 設定。
評估失敗:
- 檢查該倉庫是否包含有效的 Java 或 .NET 專案。
- 確認建置檔是否存在,例如
pom.xml、build.gradle、*.csproj或*.sln。 - 請檢視主控台輸出中的錯誤訊息。
雲端編碼代理委派問題:
- 確保你擁有建立 GitHub Actions 工作流程的正確權限。
- 請檢查你組織的 GitHub Actions 權限和配額限制。
- 對於 .NET Framework 應用程式,請確保 Windows 運行程式的設定正確。
- 檢查你的 MCP 伺服器設定。
下一步
完成批次評估後,您可以:
持續現代化工作流程:
- 跨倉庫執行批次升級 ——根據評估結果套用一致的升級。
深入了解:
提供意見反應
我們重視您的意見! 如果你對批次評估或現代化代理有任何回饋,請 在 github-copilot-appmod 倉庫建立問題 ,或使用 GitHub Copilot 現代化回饋表單。