跳至主要内容

9 篇文章 含有標籤「Containerization」

檢視所有標籤

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-08-20

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

🌍 誰將維護未來?為新一代重新思考開源領導力

Source: https://github.blog/open-source/maintainers/who-will-maintain-the-future-rethinking-open-source-leadership-for-a-new-generation/

  • 開源社群「老齡化」問題: 根據 Tidelift 2024 年維護者調查,46-65 歲維護者的比例自 2021 年以來翻了一倍,而 26 歲以下貢獻者則從 25% 下降到 10%。這揭示了開源社群面臨的傳承危機和潛在的知識流失。
  • Gen Z 貢獻者「Sam」視角: 文章引入一位 23 歲 Gen Z 貢獻者「Sam」的人格設定,他們渴望為有意義的氣候科技專案貢獻,透過 YouTube 自學程式碼,擅長線上社群管理,但對公開儲存庫感到畏懼。他們尋求目標、彈性及歸屬感。
  • 「參與之山」框架: 為了幫助像 Sam 這樣的貢獻者茁壯成長,文章提出一個包含六個階段的框架:「參與之山」——發現、首次接觸、參與、持續參與、網絡參與、領導力。
  • 針對 Gen Z 需求調整傳統最佳實踐:
    • 發現階段: Gen Z 透過 TikTok、Discord 和 YouTube 發現專案,他們希望在 README 中直接看到專案宗旨,並偏好行動裝置學習。專案需在 Gen Z 活躍的平台露面。
    • 首次接觸: 需提供行動友善、視覺優先的登陸體驗,以及像 Discord 這樣輕鬆開放的聊天頻道,讓新手可以潛水觀察。
    • 參與階段: Gen Z 偏好即時回饋、沙盒環境進行嘗試,以及提供允許學習而非僅限展示的空間,例如 FreeCodeCamp 和 Kubernetes 的貢獻者遊樂場模式。
    • 持續參與: 重視可分享的認可(徽章、提及、作品集),更關注影響力而非層級晉升。
    • 網絡參與: 偏好具名的、可分享的角色(如 Discord 版主、社群嚮導),非正式交流,以及同儕主導的領導模式(如 Rust 的共識驅動治理)。
    • 領導階段: 期望共同管理而非自上而下的控制,並尋求補償或專業成長,例如 TensorFlow 的貢獻者階梯。
  • 具體行動建議: 將 README 轉化為 60 秒解說影片、建立首次貢獻者的沙盒空間、啟動 Discord 或非主題頻道以培養歸屬感、明確並公開專案使命。

TechSummary 2025-08-19

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

Agents panel: Launch Copilot coding agent tasks anywhere on GitHub 🚀

Source: https://github.blog/news-insights/product-news/agents-panel-launch-copilot-coding-agent-tasks-anywhere-on-github/

  • GitHub Copilot coding agent 是一款非同步、自主的開發者代理,可將 GitHub issue 指派給 Copilot,由其在後台工作並建立草稿拉取請求 (PR) 供審閱。
  • 新推出的 Agents panel 允許開發者從 GitHub.com 上的任何頁面快速將任務委託給 Copilot,並追蹤其進度而無需中斷工作流程。
  • Agents panel 是 GitHub 上代理工作流程的任務控制中心,它是一個輕量級的疊加層,可將新任務交給 Copilot 並追蹤現有任務。
  • 可用的功能包括:無需切換頁面即可分配後台任務、實時監控運行中的任務、以及在準備好審閱時跳轉到拉取請求。
  • 支援從 GitHub.com、GitHub Mobile、Copilot Chat、VS Code 或支援 MCP 的工具發起任務。
  • Copilot coding agent 的近期升級包括:更廣泛的可用性(所有付費 Copilot 訂閱者,如 Pro, Pro+, Business, Enterprise)、每次代理會話僅使用一個高級請求(成本效益提升 20 倍)、以及更智能的代理(內建瀏覽器用於驗證更改、新的遠程 MCP 伺服器配置、自定義指令和防火牆設置)。
  • 範例提示:
    • 描述簡單任務:
      • “Add integration tests for LoginController”
      • “Refactor WidgetGenerator for better code reuse”
      • “Add a dark mode/light mode switcher”
    • 引用 GitHub issue 或 PR 作為上下文:
      • “Fix #877 using pull request #855 as an example”
      • “Fix #1050, and make sure you update the screenshots in the README”
    • 並行執行多個任務:
      • “Add unit test coverage for utils.go” + “Add unit test coverage for helpers.go”

TechSummary 2025-08-14

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

GPT-5 在 GitHub Copilot:我如何在 60 秒內建構一款遊戲 🚀

Source: https://github.blog/ai-and-ml/generative-ai/gpt-5-in-github-copilot-how-i-built-a-game-in-60-seconds/

  • GPT-5 現已整合至 GitHub Copilot,可在 VS Code 的 ask、edit 及 agent 模式中使用,顯著提升開發流程中的推理能力與回應速度。
  • 啟用方式簡單,僅需在 Copilot 介面中開啟模型選擇器並選取 GPT-5 即可。企業用戶需經管理員啟用。
  • 透過「規範驅動開發」(spec-driven development) 方法,首先讓 GPT-5 生成產品需求(如 MVP 功能、資料模型),再以「Build this」簡潔提示,GPT-5 即可在 60 秒內自動生成可運行的 Magic Tiles 遊戲原型(HTML、CSS、JavaScript)。
  • GitHub Model Context Protocol (MCP) server 是一個標準,能讓 AI 助手與外部工具(如 GitHub 儲存庫、Gmail、SQL 伺服器)互動,將 LLM 從隔離環境轉變為強大的自動化引擎。
  • 設定 GitHub MCP 伺服器僅需不到 5 分鐘,透過在工作空間根目錄建立 .vscode/mcp.json 配置檔並進行 GitHub OAuth 驗證即可。
  • 實際應用範例包含透過自然語言創建 GitHub 儲存庫及批量建立議題,大幅減少上下文切換,提高開發效率。
  • 這個工作流程的優勢在於 GPT-5 的處理速度、上下文保留能力,以及將自然語言作為開發介面,同時保持「人機協同」的控制。

TechSummary 2025-08-12

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

🔗 為何 GitHub 開源 MCP 伺服器,以及這對您的意義

Source: https://github.blog/open-source/maintainers/why-we-open-sourced-our-mcp-server-and-what-it-means-for-you/

  • 當 LLMs(大型語言模型)缺乏外部工具和數據源的連接能力時,容易產生幻覺(hallucinations),給出看似合理但錯誤的答案。
  • Model Context Protocol (MCP) 是一個開放協議,旨在標準化 LLM 應用程式如何連接並使用外部工具和數據源,其角色類似於程式語言伺服器協議 (LSP) 之於程式語言,可以視為「LLM 的 LSP」。
  • GitHub 已開源其 MCP 伺服器,作為 GitHub 平台與任何 LLM 之間的「真相來源」介面,有助於減少幻覺並啟用新的自動化工作流程。
  • GitHub 的 MCP 伺服器允許使用者以自然語言發出請求(例如「列出所有開放的議題」),這些請求會被自動轉換為結構化、語義豐富的 API 調用,從而獲取 GitHub 上的即時數據。
  • 該架構概念上簡單但功能強大,將語言模型、用戶體驗和數據/工具訪問分離,使每一層都模組化、可測試和可替換。
  • 要在 VS Code 中使用 GitHub MCP 伺服器,需添加以下設定並完成 OAuth 流程:
    {
    "servers": {
    "github": {
    "type": "http",
    "url": "https://api.githubcopilot.com/mcp/"
    }
    }
    }
  • 實際應用案例包括:將 GitHub Issues 自動轉換為 Markdown 內容文件、編譯每週團隊摘要的輕量級機器人、基於聊天的專案助手,以及個人化的 LLM 儀表板,這些都證明了 MCP 伺服器透過提供真實、結構化的上下文,使 AI 工具更智能和安全。

TechSummary 2025-08-06

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

加速 Docker 強化映像的 FedRAMP 合規性 🚀

Source: https://www.docker.com/blog/fedramp-compliance-with-hardened-images/

  • FedRAMP 合規挑戰: 聯邦風險與授權管理計畫 (FedRAMP) 合規成本高昂(45 萬至 200 萬美元以上),且需耗時 12 至 18 個月,這期間競爭對手可能已搶佔政府合約。企業需面對 NIST SP 800-53 中超過 400 項嚴格的安全控制要求。
  • Docker 強化映像 (DHI) 解決方案: Docker 硬化映像提供自動化、可稽核的安全解決方案,旨在加速 FedRAMP 合規流程並降低維護成本。DHI 是一系列精簡的映像,持續更新以確保幾乎沒有已知的 CVE。
  • FIPS 140 合規性: DHI 支援 FIPS 140 驗證的密碼學模組,預配置並經過測試,可確保正確功能。每個 FIPS 合規映像都附有簽名的證明,列出使用的 FIPS 驗證軟體及其 CMVP 認證和測試結果連結,支援 OpenSSL、Bouncy Castle 和 Go 等主要開源密碼學模組。
  • STIG 強化映像: Docker 根據國防信息系統局 (DISA) 發布的通用作業系統 (GPOS) SRG,創建了客製化的容器 STIG。STIG 強化映像在安全建構過程中會使用 OpenSCAP 進行掃描,結果會作為簽名證明提供,其中包含易於查看的 STIG 合規分數,並支援輸出為 HTML 和 XCCDF 格式,便於稽核。
  • 持續合規性:
    • 漏洞減少: DHI 起始攻擊面減少高達 95%(按包數量計算),持續更新以確保幾乎沒有已知 CVE,並掃描病毒和機密。
    • 漏洞檢測與修復: Docker 持續監控 CVE 來源,DHI 對嚴重/高風險漏洞的修復 SLA 為 7 天,中/低風險為 30 天,幫助滿足 FedRAMP 修復時限。提供 VEX (Vulnerability Exploitability eXchange) 證明來過濾不適用漏洞。
    • 供應鏈透明度: DHI 使用 SLSA Build Level 3 安全建構管道,確保建構可驗證性與防篡改。提供簽名證明和多種 SBOM 格式。
    • 稽核證據: DHI 證明符合 in-toto 證明標準,作為 provenance、資產管理、漏洞掃描及 FIPS 合規性的安全證據。

TechSummary 2025-08-05

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

🔒 每個人都是「雪花」:為真實世界設計強化映像檔流程

Source: https://www.docker.com/blog/hardened-image-best-practices/

  • 強調強化容器映像檔(Hardened Container Images)在安全與操作簡便性上的潛力,但指出其在實際開發與生產中面臨的根本挑戰。
  • 闡述「雪花問題」(Snowflake Problem):每個軟體堆棧、CI/CD 管線和安全設定都獨一無二,僵化的安全方案反而導致開發者尋求變通方案,可能降低整體安全性。
  • 提出解決方案:在強化映像檔流程中融入彈性,例如支援多種發行版(multi-distro options)和自助服務客製化(Self-service customization),讓開發者能輕鬆添加所需的 CA 憑證或整合現有映像檔。
  • 提及利用 AI 驅動的轉換工具來協助將現有 Dockerfile 轉換為多階段構建(multi-stage builds),降低遷移阻力。
  • 強調社群信任的重要性:與開源專案維護者建立緊密關係,確保強化映像檔的設計能納入專案見解與經驗。
  • 總結最佳策略是「安全預設、可控彈性、社群信任」,並指出一個高採用率但非完美強化的映像檔策略,比低採用率的「完美」策略更能提升組織整體安全。

TechSummary 2025-08-04

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

使用 GitHub Models 在 Actions 中自動化您的專案 🚀

Source: https://github.blog/ai-and-ml/generative-ai/automate-your-project-with-github-models-in-actions/

  • GitHub Models 將 AI 整合到 GitHub Actions 工作流程中,實現專案內的自動化分類、摘要等功能。
  • 權限設置: 使用 GitHub Models 前需在 permissions 區塊中加入 models: read,並建議遵循最小權限原則,以降低提示詞注入攻擊 (prompt injection) 風險。
    permissions:
    contents: read
    issues: write
    models: read
  • 範例一:在 Bug 報告中請求更多資訊
    • 透過 actions/ai-inference@v1 動作分析 Issue 內容,判斷錯誤報告是否包含足夠的重現資訊(例如:重現步驟、預期行為、實際行為、環境細節)。
    • 若資訊不足,AI 會自動回覆提示作者補齊。此機制利用 AI 模型的回傳值(pass 或詳細說明)建立工作流程中的條件邏輯。
    - name: Analyze Issue For Reproduction
    if: contains(join(github.event.issue.labels.*.name, ','), 'bug')
    id: analyze-issue
    uses: actions/ai-inference@v1
    with:
    model: mistral-ai/ministral-3b
    system-prompt: |
    Given a bug report title and text for an application, return 'pass' if there is enough information to reliably reproduce the issue, meaning the report clearly describes the steps to reproduce the problem, specifies the expected and actual behavior, and includes environment details such as browser and operating system; if any of these elements are missing or unclear, return a brief description of what is missing in a friendly response to the author instead of 'pass'. Consider the following title and body:
    prompt: |
    Title: ${{ steps.issue.outputs.title }}
    Body: ${{ steps.issue.outputs.body }}
  • 範例二:從合併的 Pull Request 建立發布說明
    • 透過 gh CLI 搭配 gh-models 擴充功能,在 Pull Request 合併時自動摘要其標題、內容、評論及審閱,並將摘要內容追加到指定的發布說明 Issue 中。
    cat pr.json | gh models run xai/grok-3-mini \
    "Given the following pull request information, generate a single, clear, and concise one-line changelog entry that summarizes the main change (feature, fix, or bug) introduced by this PR. Use neutral, user-facing language and avoid technical jargon or internal references. Only write the line, with no additional introduction or explanation text." > summary.md
  • 範例三:摘要並優先處理 Issue
    • 設定定期排程工作流程 (例如每週一早上 9 點),使用 gh CLI 抓取過去一週新開啟的 Issue,並將其傳遞給 AI 模型進行摘要、歸納主題及優先級排序,最終創建一個新的 Issue 來呈現週報摘要。
    • 此範例使用獨立的 .prompt.yml 提示文件,提供更複雜的提示邏輯。