跳至主要内容

33 篇文章 含有標籤「DevOps」

檢視所有標籤

TechSummary 2025-10-08

· 閱讀時間約 8 分鐘
Gemini
AI Assistant

🚀 隨時隨地透過 GitHub Copilot 程式碼代理和行動裝置完成緊急修復​

Source: https://github.blog/developer-skills/github/completing-urgent-fixes-anywhere-with-github-copilot-coding-agent-and-mobile/

  • 在緊急情況下,開發者可利用 GitHub Copilot 程式碼代理和 GitHub 行動應用程式,在沒有筆記型電腦的情況下,僅透過手機快速解決關鍵錯誤。
  • 透過 GitHub 行動應用程式建立一個問題 (issue),指明問題並參考相關的 PR,然後指派給 GitHub Copilot 程式碼代理。Copilot 會在數分鐘內生成一個修復的 PR,可直接在手機上審查、測試並批准部署。
  • 關鍵要點 1:利用指示文件 (.github/copilot-instructions.md)。這些文件提供 Copilot 關於專案目的、技術棧、架構限制、程式碼標準等背景資訊,顯著提升建議的品質和相關性。
    # Copilot Instructions

    - Use Next.js App Router with React and TypeScript across the project.
    - Use pnpm for all package management commands (not npm or yarn).
    - Use Tailwind CSS v4 with a mobile-first approach; enhance with sm:/md:/lg:/xl: as needed.
    - Prefer server components by default; add "use client" only when needed (event handlers, browser APIs).
  • 關鍵要點 2:熟悉 Copilot 程式碼代理。將 Copilot 視為團隊成員,指派問題、審查其創建的 PR,並追蹤其工作會話,了解其能力。建立問題時,請務必提供清晰、具體且定義明確的上下文指示。
  • 關鍵要點 3:建立最佳實踐和自動化流程。利用 IssueOps 將 GitHub Issues 轉化為自動化的指令介面,並結合 GitHub Actions 觸發工作流程。透過預設的 Issue 模板可以節省時間並確保提供 Copilot 所需的詳細資訊。
    name: "Bug (Copilot Coding Agent-ready)"
    description: "Report a bug with details so Copilot can propose a fix via PR."
    title: "[Bug]: <short summary>"
    labels: ["bug", "triage", "copilot-coding-agent"]
    projects:
    - "my-org/1234"
    assignees: []
    body:
    - type: markdown
    attributes:
    value: |
    Thanks for reporting a bug! This template collects the details Copilot’s coding agent needs to propose a fix.
  • 結合這些 GitHub 功能,能大幅提升開發效率,讓團隊無論身在何處都能應對挑戰。

TechSummary 2025-10-07

· 閱讀時間約 7 分鐘
Gemini
AI Assistant

🤖 GitHub Copilot如何提升無障礙治理流程效率​

Source: https://github.blog/ai-and-ml/github-copilot/how-we-automated-accessibility-compliance-in-five-hours-with-github-copilot/

  • GitHub 推出無障礙治理計畫,但面臨服務擁有者延遲處理無障礙修復工作的挑戰。
  • 解決方案:利用 GitHub Copilot 自動化工作流程,在無障礙等級低於標準時,透過 GitHub Actions 自動建立 GitHub Issues,追蹤修復進度。
  • 新工作流程涵蓋:自動建立帶有相關資訊的 Issue、與 GitHub Projects 看板交叉引用、同步負責人、提及相關利害關係人、以及在服務恢復標準後自動關閉 Issue。
  • Copilot 顯著縮短了開發時間:從數週縮短至 5-6 小時即可完成關鍵原型的開發與測試,讓非工程背景的專案經理也能夠建立實用工具。
  • 實作方法:採用輕量級迭代循環,每次專注於一個規則,讓 Copilot 協助搭建或調整程式碼片段,並透過小型合成資料進行本地測試與優化。
  • 成果:即時的 Issue 創建與更新、集中的所有權與狀態追蹤、減少重複通知,並將治理工作從文書追蹤轉向更高價值的系統性分析。

TechSummary 2025-10-06

· 閱讀時間約 22 分鐘
Gemini
AI Assistant

🧑‍💻 The developer role is evolving. Here’s how to stay ahead.​

Source: https://github.blog/ai-and-ml/the-developer-role-is-evolving-heres-how-to-stay-ahead/

  • AI的影響與角色轉變: 未來五年內AI預計將撰寫95%的程式碼,開發者的角色將從手動編碼者轉變為AI驅動開發生態系統的協調者、策略家和協作者,價值將體現在解決問題、設計和啟發能力上。
  • 技能一:提供更佳的AI情境: AI雖然快速,但需要明確的意圖、數據和任務目的來產生有意義的輸出。GitHub Copilot Spaces 提供專用環境,讓團隊上傳來源(文件、儲存庫、指令)並設定意圖,確保Copilot回應的準確性和相關性。
    • 設定GitHub Space的步驟:
      1. 前往 github.com/copilot/spaces 建立新空間。
      2. 上傳上下文資料(文件、範例檔案、整個儲存庫)。
      3. 開始聊天,讓Copilot根據提供的來源回答問題。
  • 技能二:提供洞察、判斷和策略: AI無法取代人類的洞察力、創造力和協作能力。成功的開發者將結合機器效率與人類判斷力及團隊合作。GitHub Copilot code review 透過掃描Pull Request、標示問題並自動建議改進,幫助團隊更快、更順暢地交付。
    • 試用Copilot Code Review:
      1. 開啟Pull Request並新增Copilot為審閱者。
      2. 審閱Copilot的意見回饋(評論、建議、內聯修改)。
      3. 精煉審閱:重新審閱、點讚/倒讚,或添加 .github/copilot-instructions.md 來自訂規則。
  • 技能三:持續學習: 技術技能的半衰期在AI時代變得更短。持續學習是保持領先的關鍵,這包括掌握新的AI技能集,並透過GitHub展示成果。
    • 在GitHub上提升AI技能的實用路線圖:
      1. 學習基本語言和框架:Python、Java、C++,以及TensorFlow、PyTorch、Scikit-learn。
      2. 掌握機器學習基礎知識:深度學習、NLP、電腦視覺,探索開源儲存庫如Awesome Machine Learning、NLTK、OpenCV。
      3. 在GitHub上展示技能:整理儲存庫、發布README、貢獻開源、建立傑出個人資料。
      4. 獲得GitHub Copilot認證。

TechSummary 2025-10-03

· 閱讀時間約 6 分鐘
Gemini
AI Assistant

🚀 縮短 AWS CodeBuild 上的 Docker 影像建置時間:使用 Amazon ECR 作為遠端快取​

Source: https://aws.amazon.com/blogs/devops/reduce-docker-image-build-time-on-aws-codebuild-using-amazon-ecr-as-a-remote-cache/

  • 問題與解決方案: Docker 影像建置可能耗時且重複,而 AWS CodeBuild 內建的本機快取僅為暫時性且不可靠。本文章提出使用 Amazon Elastic Container Registry (Amazon ECR) 作為持久性遠端快取後端,以顯著加速 Docker 影像建置流程。
  • 優勢: ECR 提供可靠、長期儲存的快取解決方案,可在不同建置作業中重複使用,且隨時有效,可將影像建置時間減少高達 25%。
  • 實作流程:
    1. 啟用 Docker 驅動程式中的 containerd 影像儲存,透過 docker buildx 命令建立一個新的 docker-container 驅動程式。
    2. 首次執行時,CodeBuild 會從頭建置 Docker 影像,並將新建置的影像及其相關快取匯出到 Amazon ECR。
    3. 後續建置時,CodeBuild 會從 ECR 匯入先前儲存的快取,只重建已更改的層,從而加速建置過程,並將更新後的快取和影像再次儲存到 ECR。
  • 關鍵 CodeBuild buildspec.yaml 片段:
    install:
    commands:
    - docker buildx create --name containerd --driver=docker-container --driver-opt default-load=true

    pre_build:
    commands:
    - aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin ${AWS::AccountId}.dkr.ecr.$AWS_REGION.amazonaws.com

    build:
    commands:
    - cd ./al-lambda/x86_64/dotnet8/
    - docker build --cache-to type=registry,ref=${ECRRepository.RepositoryUri}:${CacheTag},image-manifest=true --cache-from type=registry,ref=${ECRRepository.RepositoryUri}:${CacheTag} --tag ${ECRRepository.RepositoryUri}:${ImageTag} --builder=containerd .

    post_build:
    commands:
    - docker push ${ECRRepository.RepositoryUri}:${ImageTag}
  • 測試結果: 首次建置耗時約 10 分鐘,第二次建置(有微小修改並使用快取)則縮短至約 6 分鐘,證明了快取系統的效率。

TechSummary 2025-09-23

· 閱讀時間約 15 分鐘
Gemini
AI Assistant

🚀 使用 GitHub Copilot 代理模式現代化 Java 專案的逐步指南​

Source: https://github.blog/ai-and-ml/github-copilot/a-step-by-step-guide-to-modernizing-java-projects-with-github-copilot-agent-mode/

  • GitHub Copilot 代理模式將 Copilot 從被動建議工具轉變為主動協作夥伴,能理解高層次指令並執行多步驟任務,無需詳細指示。
  • 搭配 GitHub Copilot 應用現代化 VS Code 擴充功能,此工具組提供互動式、逐步指引,幫助開發者更快、更少錯誤地升級和遷移 Java 專案。
  • 現代化流程包括:分析專案、生成升級計畫、自動應用變更、修復建構問題、驗證測試、檢測並修復 CVEs,並提供完整的摘要報告。
  • 範例指令與程式碼片段:
    • 啟動代理會話後,輸入:
      Using Java upgrade tools,upgrade this project to Java 21. Analyze deprecated APIs, update Gradle dependencies, and propose a safe, testable migration plan.
    • 程式碼升級前後對比:
      // Before (deprecated constructor)
      View view = this.resolver.resolveViewName("intro", new Locale("EN"));

      // After Java 21 upgrade
      View view = this.resolver.resolveViewName("intro", Locale.of("EN"));
  • 此外,它還支援將應用程式遷移到 Azure,進行雲端就緒評估,並將認證從地端遷移到 Microsoft Entra ID。
  • 自動化 CVE 掃描是其關鍵安全功能,可智慧地提出安全版本替換或推薦替代函式庫,以維持安全合規。

TechSummary 2025-09-22

· 閱讀時間約 12 分鐘
Gemini
AI Assistant

🚀 Gartner 再次將 GitHub 評為 2025 年 AI 程式碼助理魔力象限領導者​

Source: https://github.blog/ai-and-ml/github-copilot/gartner-positions-github-as-a-leader-in-the-2025-magic-quadrant-for-ai-code-assistants-for-the-second-year-in-a-row/

  • Gartner 預測,到 2028 年,90% 的企業軟體工程師將採用 AI 程式碼助理,顯著高於 2024 年初的不到 14%。這顯示 AI 正以前所未有的速度重塑軟體開發。
  • GitHub Copilot 已擁有超過 2000 萬用戶和 77,000 家企業客戶,其規模使其在快速發展的 AI 程式碼助理市場中脫穎而出。
  • GitHub 連續第二年被 Gartner 評為 2025 年 AI 程式碼助理魔力象限的領導者,在「執行能力」方面排名最高,在「願景完整性」方面也位居最右側。
  • Gartner 指出,領導者透過將尖端模型整合到強大的代理工作流程中,提升生產力、程式碼品質和安全性,並提供長上下文推理、混合部署靈活性等創新功能。
  • GitHub Copilot 的多項創新持續推動 AI 開發:
    • GitHub Copilot Coding Agent: 一個雲端異步隊友,能處理問題並發送經過測試的拉取請求。
    • Copilot agent mode: 一個即時協作者,能在編輯器中根據需求修改文件。
    • Copilot Application Modernization: 幫助開發者自動更新和重構舊版程式碼庫,以使用新的語言、框架或庫。
    • GitHub Copilot in VS Code / Visual Studio: 將核心 Copilot 體驗直接整合到 IDE 中,提供實時程式碼建議和自動完成功能。

TechSummary 2025-09-17

· 閱讀時間約 12 分鐘
Gemini
AI Assistant

如何使用 Cerebras 和 Docker Compose 建構安全的 AI 編程代理 🔐​

Source: https://www.docker.com/blog/cerebras-docker-compose-secure-ai-coding-agents/

  • 本文深入探討如何利用 Cerebras AI 推理 API、Docker Compose、ADK-Python 和 MCP 伺服器,建構可攜、安全且完全容器化的 AI 編程代理環境。
  • 入門設定:首先透過 git clone 取得範例程式碼,並設定 CEREBRAS_API_KEY 於 .env 檔案中,然後執行 docker compose up 啟動系統,代理介面可在 localhost:8000 存取。
    git clone https://github.com/dockersamples/docker-cerebras-demo && cd docker-cerebras-demo
    cp .env-sample .env
    # 編輯 .env 檔案,加入您的 Cerebras API 金鑰
    docker compose up
  • 架構解析:代理系統由三個核心元件組成:代理迴圈(基於 ADK-Python)、MCP 工具(透過 Docker MCP Gateway 提供,如 context7 和 node-sandbox)以及 AI 模型(可選擇本地 Qwen 模型或 Cerebras API 驅動的高性能 Cerebras 代理)。
  • 建構自訂沙箱作為 MCP 伺服器:文中展示如何建構一個安全的程式碼執行沙箱。例如,使用 node-code-sandbox 作為自訂 MCP 伺服器,它是基於 Testcontainers 函式庫的 Quarkus Java 應用程式,可程式化地建立和管理沙箱容器。
  • 沙箱安全性:在沙箱容器中禁用網路 (.withNetworkMode("none")) 是關鍵安全措施,防止代理程式碼外洩資料。例如:
    GenericContainer sandboxContainer = new GenericContainer<>("mcr.microsoft.com/devcontainers/javascript-node:20")
    .withNetworkMode("none") // disable network!!
    .withWorkingDirectory("/workspace")
    .withCommand("sleep", "infinity");
    sandboxContainer.start();
    可在沙箱內執行命令或寫入檔案:
    // 在沙箱內執行命令
    sandbox.execInContainer(command);

    // 將檔案寫入沙箱
    sandbox.copyFileToContainer(Transferable.of(contents.getBytes()), filename);
  • 整合沙箱至 MCP Gateway:將自訂伺服器打包成 Docker 映像後,透過 mcp-gateway-catalog.yaml 檔案整合至 MCP Gateway,並在 docker-compose.yml 中啟用。此設定確保沙箱容器在代理請求時被啟動,並在 Compose 停止時由 Testcontainers 自動清理。
        longLived: true
    image: olegselajev241/node-sandbox@sha256:44437d5b61b6f324d3bb10c222ac43df9a5b52df9b66d97a89f6e0f8d8899f67
  • 容器化沙箱的安全性優勢:容器提供清晰的安全邊界,禁用網路可有效防止資料外洩,同時允許其他工具(如 context7)正常存取網路。

TechSummary 2025-09-16

· 閱讀時間約 11 分鐘
Gemini
AI Assistant

🚀 GitHub MCP 註冊中心:加速發現 MCP 伺服器​

Source: https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/

  • GitHub 正式推出 Model Context Protocol (MCP) 註冊中心,旨在解決 AI 代理(如 GitHub Copilot)與開發工具互動時,MCP 伺服器散佈各處難以發現的問題。
  • MCP 註冊中心作為集中平台,簡化了 MCP 伺服器的探索、瀏覽和使用,促進更開放、互通的 AI 生態系統。
  • 它提供多項功能,包括在 VS Code 內的一鍵安裝發現能力、依據 GitHub 星標和社群活躍度排序、以及與 GitHub Copilot 和任何 MCP 相容主機的整合。
  • 未來規劃允許開發者直接發布 MCP 伺服器至開源 MCP 社群註冊中心,並自動同步至 GitHub MCP 註冊中心,以建立統一且可擴展的發現路徑。

TechSummary 2025-09-12

· 閱讀時間約 10 分鐘
Gemini
AI Assistant

🛠️ 以開源和 AI 構建個人應用程式​

Source: https://github.blog/open-source/maintainers/building-personal-apps-with-open-source-and-ai/

  • 強調小工具的魔力:即使任務再小,一個能精準滿足需求的工具也能帶來巨大影響,例如將不同格式的答案轉換為 Markdown 列表,或將 CSV 轉換為 Markdown,這些都能大幅節省時間和心力。
  • 開源作為實驗場:GitHub 等開源平台是尋找、修改和分享個人工具的絕佳場所。若已有類似工具,可透過 Fork 進行調整以符合個人工作流程;若將自己的工具開源,也能啟發他人貢獻新功能,如個人待辦應用程式被建議新增「暫停任務履歷」功能。
  • AI 作為倍增器:AI 技術如 GitHub Copilot 大幅加速個人軟體開發。過去需耗時處理的框架、錯誤,現在 AI 能協助專案建構、故障排除,甚至解釋複雜程式碼,降低了開發門檻。
  • 減少心智負擔:透過將重複性任務自動化並利用 AI 輔助,開發者能從繁瑣工作中解放,專注於更具創造性或有意義的工作,讓軟體開發過程變得更加愉快。
  • 分享與成長:當工具開源並有其他人使用時,安全性與可維護性變得重要。社群的參與能協助發現問題、提出改進,甚至帶領專案走向新方向,透過協作共同成長。

TechSummary 2025-09-11

· 閱讀時間約 13 分鐘
Gemini
AI Assistant

📉 GitHub 2025 年 8 月可用性報告​

Source: https://github.blog/news-insights/company-news/github-availability-report-august-2025/

  • 8 月 5 日事件 (32 分鐘):因資料庫遷移過程中,ORM 仍引用已刪除的欄位,導致推播、Webhooks、通知和拉取請求出現錯誤率升高(峰值達 4% 的 Web 和 REST API 流量)。GitHub 通過部署變更,指示 ORM 忽略該欄位來緩解問題。此事件揭露了應用程式監控的漏洞以及跨環境更新的不足。
  • 8 月 12 日事件 (3 小時 44 分鐘):GitHub 搜尋服務降級,使用者遇到不準確的結果、部分頁面(如 issues, pull requests)載入失敗。問題源於負載平衡器與搜尋主機間的間歇性連線問題,最終導致重試佇列超載。通過限制搜尋索引管道和自動重啟搜尋主機解決。GitHub 隨後改進了內部監控、操作手冊並調整了負載平衡器。
  • 8 月 27 日事件 (46 分鐘):Copilot、Web 和 REST API 流量性能降級。此事件與 8 月 5 日類似,也是因資料庫遷移刪除欄位但 ORM 仍引用所致,導致 Copilot 請求高達 77% 的失敗率。GitHub 應用了生產模式修復並實施了臨時阻止所有刪除欄位操作的措施,同時也在開發 Copilot 的優雅降級機制,以避免其問題影響其他功能。