在 ADO Pipeline 中使用 GitHub Copilot CLI:實現全天候24h開發的夢想

我跟你說,我夢想著實現這個功能很久了✌

我一直希望能夠在 CI/CD Pipeline 中加入 LLM 的力量。我一直想透過 GitHub Copilot CLI 讓 LLM 在 Pipeline 中自動處理重複性任務,例如在晚上讓 LLM 自動幫我找 bugs、做Code Review、甚至自動撰寫說明文件…

如果可行,我夢想的 “兩班制全天候24h開發” 就可以實現了!!!

白天,由專業技術人員搭配 AI 進行開發。
晚上,則由 AI 自己進行除錯、寫文件、找 bugs。
然後隔天工程師上班之後,就可以繼續接手 Copilot 晚上產出的成果,接著進行開發。

哈哈哈哈,這樣豈不是太完美了嗎? 想想都興奮。

緣起

在現代軟體開發中,效率與自動化是不可或缺的要素。

GitHub Copilot CLI 的出現,為我們提供了一個強大的工具,能夠在開發過程中自動生成程式碼、撰寫技術文件,甚至協助除錯。而若我能將這項工具整合到 Azure DevOps 的 Pipeline 中,自動在晚上運行,則可以進一步實現了全天候的開發流程。

嘗試在 Azure DevOps Pipeline 中使用 GitHub Copilot CLI

想要將 GitHub Copilot CLI 整合到 Azure DevOps Pipeline 中,有幾個關鍵步驟。

首先,你要能夠在 Build Agent 上安裝 GitHub Copilot CLI。要這麼做不難,只需要透過底下這個 bash script 指令就可以完成安裝 。

npm install -g @github/LLM

只是,你得先確定 Node.js 已經安裝在你的 Agent 上,且是最新版本。

因此,我們會在 pipeline 中,先用一個 step 來安裝 Node.js。

steps:
- task: NodeTool@0
  displayName: 'Use Node 22.x'
  inputs:
    versionSpec: 22.x

圖片

接著,我們就可以安裝 GitHub Copilot CLI 了。我們可以透過以下的指令碼來完成這個步驟:

steps:
- bash: |
   npm install -g @github/LLM
   export GITHUB_TOKEN="github_pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
(......)

這邊有一個非常重要的重點,為了讓 GitHub Copilot CLI 能夠運作,你必須先建立一個 GitHub Personal Access Token (PAT),並且在設定在名為 GITHUB_TOKEN 的環境變數中。這個 PAT Token 需要有 Copilot requests 的權限。這樣 GitHub Copilot CLI 才能夠在你的專案中進行操作。

接下來,你可以根據你的需求,在 pipeline 中使用 GitHub Copilot CLI 來生成技術文件、進行程式碼分析,或是其他的自動化任務(像是找或改bugs)。

例如,我們底下的這串指令碼,就是讓 LLM 幫我們檢視所有程式碼,找出所有可能的 bugs,最後生成 bugs.md 文件。

(...承上...)
   copilot -p "閱讀完整的程式碼,將找到的bugs寫入 bugs.md,所有輸出使用正體中文" --allow-all-tools
   git add bugs.md
   git commit -m "update bugs.md" || echo "⚠️ 無變更可提交"

上面的 Copilot 指令中,-p 參數用來指定我們的 prompt,告訴 Copilot 我們希望它完成什麼任務。

--allow-all-tools 參數,允許 Copilot 使用所有可用的工具來完成任務。這樣可以確保 Copilot 有足夠的資源來進行程式碼分析與文件寫入。

當 Copilot 完成任務後,我們使用 git 指令將生成的 bugs.md 文件提交到版本控制系統中。如果沒有任何變更,則會顯示 “⚠️ 無變更可提交” 的訊息。

整合到夜間執行的 Pipeline

最後,我們可以將這個Pipeline 配置到一個夜間執行的 schedule 中:

圖片

白天,開發人員上班的時候,就會看到晚上 Copilot 幫忙找出來的 bugs(位於bugs.md),並且可以直接接手進行程式碼修正:
圖片

驚不驚喜、刺不刺激?
我們的 24h 軟體開發工廠就這麼誕生了!!!

未來,迎接著我們的,將會是更卷更高效率、更自動化的軟體開發時代!!!

結語

透過將 GitHub Copilot CLI 整合到 Azure DevOps Pipeline 中,我們可以實現真正的 “兩班制24h全天候開發”。白天由工程師專注於創造性工作,晚上由 AI 自動化處理重複性任務,極大地提升了開發效率與產品品質。

這不僅是技術的進步,更將是開發流程的一次革命。

留言

這個網誌中的熱門文章

使用LM Studio輕鬆在本地端以API呼叫大語言模型(LLM)

開啟 teams 中的『會議轉錄(謄寫)』與Copilot會議記錄、摘要功能

原來使用 .net 寫個 MCP Server 如此簡單

VS Code的字體大小

在LINE Bot中使用MemoryCache保存Semantic Kernel的對談記憶