使用 GitHub Copilot 現代化代理程式的批次方案

批次計畫讓你能透過一個工作流程和共同的現代化目標,為多個資料庫產生現代化計畫。 本文將教你如何在開始執行前,跨多個應用程式制定一致的計畫。

透過使用批次計畫,你可以:

  • 在一個引導式工作流程中為多個應用程式制定計畫
  • 在各個存放庫中套用一致的現代化目標
  • 以評估結果作為 背景,提升計畫品質。
  • 執行前先檢視計畫 ,決定先現代化哪些倉庫。

批次計畫提供以下好處:

  • 一致性與控制力:

    • 共享意圖:從同一個現代化提示詞出發,跨多個存放庫套用。
    • 可比較的輸出結果:在執行之前,先並排檢視各個方案。
    • 彈性調整:編輯每個產生的計畫,使其符合儲存庫的特定需求。
  • 大規模規劃:

    • 產品組合可視性:了解相同的要求如何套用至各個應用程式。
    • 可重複使用的準備:重複使用先前階段的相同資料庫清單與評估輸出。
    • 更快決策:先產生計畫,然後只執行你核准的儲存庫。

先決條件

小提示

批次評估並非必須,但通常能產生更準確且可行的計畫,因為代理人員可以參考偵測到的問題和遷移機會。

設定存放庫

現代化代理程式支援多種方式來指定你想規劃的儲存庫:

  • 目前資料夾:在你目前的工作目錄中為專案建立計畫。
  • 手動輸入:直接輸入本地目錄路徑或遠端 Git URL。
  • 儲存庫設定檔:使用列出所有倉庫的 JSON 設定檔。

儲存庫設定檔

對於跨多個倉庫進行批次操作,請建立一個 JSON 設定檔來列出所有倉庫。 例如,可以在你的工作目錄中建立它 .github/modernize/repos.json ,也可以提供自訂路徑。

格式 (儲存庫陣列):

[
    {
        "name": "PhotoAlbum-Java",
        "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
    },
    {
        "name": "PhotoAlbum",
        "url": "https://github.com/Azure-Samples/NewsFeedSite.git"
    }
]

每個 repo 項目支援以下欄位:

Field Description Required
name 用於報告和儀表板的儲存庫友善名稱。 是的
url Git 克隆網址,格式為 HTTPS 或 SSH 格式。 urlpath中選擇一個

小提示

你可以在批次評估、批次計畫和批次升級的工作流程中使用同一個 repos.json 檔案。

現代化代理程式會在你選擇「repos.json進入互動模式時自動偵測該.github/modernize/repos.json檔案。 你也可以提供自訂路徑。

批次計畫的運作方式

批次規劃工作流程:

  1. 儲存庫選擇:選擇你想包含的儲存庫。
  2. 情境選擇:可選擇性地使用現有的評估報告作為輸入。
  3. 提示定義:先描述一次現代化目標,並在多個資料庫中套用。
  4. 說明:請回答代理人的任何後續問題。
  5. 計畫產生:代理人為每個選擇的儲存庫建立計畫。

每個產生的計畫都會儲存在目標儲存庫中,執行前可進行檢視或編輯。

執行批次計畫

設定好倉庫後,開始批次規劃工作流程。

互動模式

  1. 執行現代化代理程式:

    modernize
    
  2. 從主選單選擇 「計畫 」。

    ○ How would you like to modernize your app?
    
        Assess
        Analyze modernization readiness across one or multiple applications
      > Plan
        Generate a structured plan to guide the agent
        Execute
        Run the tasks defined in the modernization plan
    
      Or select a quick-start scenario:
    
        Upgrade
            Upgrade runtimes and frameworks across one or multiple applications
    
  3. 選擇如何指定你的目標倉庫。 選擇 從設定檔 中使用 repos.json 檔案。

    ○ Choose target repositories
    
        1. Current folder
          /Users/username/project
        2. Manual input
          Enter local path or remote URL
      > 3. From a config file
          /path/to/.github/modernize/repos.json
    

    小提示

    你也可以選擇 手動輸入 直接輸入本地路徑或遠端 Git 網址,或選擇 Current 資料夾 來規劃你目前目錄中的專案。

  4. 如果 repos.json 檔案在預設位置被偵測到,代理會自動填補。 否則,輸入你的設定檔路徑並按 Enter

  5. 預設會選擇所有儲存庫。 取消選擇你想跳過的儲存庫,然後按 Enter 鍵確認你的選擇。

    • 用方向鍵 導航,按 空白 鍵切換各個倉庫。
  6. 選擇 1. 將方案保留在本機,在您的電腦上產生方案;或選擇 2. 提交至 Cloud Agent,由雲端代理程式產生方案。 選項二是實驗性的。

  7. 輸入方案名稱或按 Enter 使用預設名稱。

  8. 輸入你的現代化目標作為提示。 例如:

    • upgrade to Spring Boot 3 and prepare for Azure deployment
    • migrate the database to Azure PostgreSQL
    • containerize the application and deploy to Azure Container Apps
  9. 按下 Enter 鍵即可產生圖紙。

  10. 代理程式會自動:

    • 複製每個選擇的儲存庫,或是為每個倉庫提交工作給雲端代理。
    • 為每個儲存庫在本機產生計畫,或在每個儲存庫中建立包含該計畫的 PR。

下一步

完成批次計畫後,請檢視計畫並使用 execute 以下指令執行:

提供意見反應

如果你對批次計畫或現代化代理程式有回饋,請在 github-copilot-appmod 倉庫建立問題,或使用 GitHub Copilot現代化回饋表單