GitHub Actions macOS Runner Groups 怎麼設定?2026 企業指南

GitHub Actions macOS Runner Groups 怎麼設定?2026 企業指南

工作流程因 Runner 權限或路由設定而跑到非預期的 macOS 執行環境,或無法取得 Runner?

最快的處理順序是:先按團隊信任邊界劃分 Runner Group,再設定倉庫授權與工作流程路由;代表性工作流程驗收完成後,才考慮停用標準托管 Runner 標籤。若你需要網路配置,別把 Runner Group 當成網路隔離功能。

最後更新於 2026 年 11 月 4 日;可用性與功能資料核對自 GitHub 官方公告及下列 GitHub Actions 官方文件。

適合管理 GitHub 組織或企業設定、倉庫授權與標準 Runner 政策的管理員。
也適合需要為 macOS 工作流程設定路由的 CI 平台工程師。
若你負責技術或安全決策,本文協助你核對現有執行環境是否符合團隊信任邊界。

GitHub Actions macOS Runner Groups 設定:先核對支援範圍

先確認你管理的是 GitHub-hosted macOS runners,還是自託管 Runner。兩者的管理位置與作法不同:這篇聚焦 GitHub 托管 macOS Runner 的組別存取及路由,不應直接套用自託管 Runner 的操作步驟。

GitHub 官方公告指出,macOS Runner 可加入 Runner Groups,透過組別管理權限、並行控制及工作流程路由;公告列明適用於 Team 與 Enterprise 方案,並說明 macOS Runner 目前不支援網路配置。這些是公告所述的功能範圍,實際帳戶是否顯示相同選項,仍要以你的方案、管理層級及當前設定介面為準。公告內容

開始前,把需求拆成三類:限制哪些倉庫可使用 Runner、控制組別的執行資源,或設定網路環境。Runner Group 可協助處理前兩類的部分管理需求,但不能單靠組別設定解決第三類。

管理方式 主要用途 要留意的邊界 適合的情境
標準托管 Runner 標籤 在工作流程選擇相符的 Runner 標籤選擇本身不等於倉庫授權 尚未需要以組別管理存取範圍
Runner Group 管理組別存取及工作流程路由 帳戶可設定的粒度依方案和介面而異;不提供 macOS 網路配置 需要按倉庫或工作流程管理使用範圍
其他網路執行環境 處理特定網段、出站規則或內部服務連線需求 需另外核實環境、權限及維運方式 網路需求超出 GitHub 托管 macOS Runner 能力

GitHub 的Runner Group 存取控制文件說明組別的存取管理方式;實際設定前仍應以你帳戶當下可選的組織、企業及倉庫範圍核對。

劃分組別前,先寫清楚信任邊界

組別不要只按團隊名稱建立。更有用的依據是:哪些倉庫擁有相同的工作流程信任條件、哪些任務會接觸憑證,以及哪些工作可以共用執行資源。否則,即使工作流程寫了不同標籤,過寬的倉庫授權仍可能讓不該使用該組的倉庫取得執行入口。

場景例子:某團隊把一般建置、外部貢獻者提交的檢查,以及簽署發布工作都視作同一類 macOS 任務。這種分法忽略了它們的信任條件不同。更審慎的做法是,先分別檢查外部貢獻工作流程是否可獲授權、發布流程會否使用憑證,再決定能否共用同一個 Runner Group。不要預設這些工作可以安全地共用相同存取範圍。

建立一份簡單的組別紀錄,包含用途、負責人、預計授權的倉庫、適用工作流程及回退方式。它既是配置依據,也能在日後倉庫或團隊調整時,幫你識別過期授權。

建立 Runner Group,再逐一授權倉庫

依 GitHub 當前官方介面建立組別,並按可用的管理層級設定存取範圍。不要假設組織管理員和企業管理員看到的選項完全一致;若介面與內部流程文件不同,先查閱官方存取控制說明,不要靠舊截圖推測設定。

接著核對預設組別及既有 Runner 的歸屬。只新增一個受限組別,卻沒有盤點舊有執行路徑,可能令工作流程仍使用未納入新政策的資源。先列出有 macOS 工作的倉庫,對照組別授權清單,並為每項例外標明負責人和理由。

驗收時至少挑選兩種代表性情況:一個預期獲授權的倉庫,以及一個不應獲授權的倉庫。前者確認工作流程能進入指定組別,後者確認不會透過該組別取得 Runner。保留工作流程執行結果、倉庫名稱、組別政策版本和核對人,讓結果可供後續複查。這些是團隊自己的驗收紀錄,不應描述成 GitHub 保證的結果。

把組別路由寫進工作流程

完成倉庫授權後,才修改工作流程的 Runner 選擇條件。GitHub Actions 的工作流程語法支援以群組和標籤指定執行資源;設定名稱需與帳戶中的組別及可用標籤吻合。官方語法請參閱工作流程設定文件。

runs-on:
  group: your-runner-group
  labels: your-macos-runner-label

以上是欄位結構示例,不代表這些名稱已存在於你的帳戶。替換群組與標籤後,先用不發布、不使用敏感憑證的建置工作驗證實際路由;再檢查工作流程紀錄是否顯示預期結果。若工作排隊或無法配對 Runner,先核對組別名稱、標籤和倉庫授權,不要急著放寬整個組織的存取政策。

組別和標籤的職責不同:組別用於指定受管理的執行資源範圍,標籤用於配對相符 Runner。僅把工作流程改成某個標籤,不應被當作已完成倉庫授權;反過來,倉庫取得組別授權,也不表示工作流程已正確路由。

驗收完成後,再調整標準標籤與並行設定

新路由穩定前,先不要停用標準 Runner 標籤。盤點所有引用標準標籤的倉庫和工作流程,為每項工作確認替代路由、驗收結果和負責人。少查一個排程或發布工作,都可能在變更後造成無法排程或任務失敗。

並行控制也應根據團隊自己的建置需求設定,不能只因組別已建立,就假設現有工作負載會順利排程。依實際工作流程檢查同時執行需求、等待情況及錯誤紀錄,再按帳戶支援的設定調整。GitHub 的管理較大型 Runner 文件可供核對管理方式;不要把文件中不同 Runner 類型的細節直接當成 macOS Runner 的保證。

此外,組織層級限制 GitHub Actions 與調整標準 Runner 標籤不是同一項操作。若你也要變更組織層級設定,請分開審核影響範圍,並參閱限制組織使用 GitHub Actions 的文件。將調整內容、驗收結果、回退方式及負責人一併記錄。

依條件選擇下一步

常見問題

Runner Group 的倉庫存取怎樣驗收?

挑選已授權和未授權的代表性倉庫,分別執行低風險工作流程,確認前者可進入預期組別、後者不會經由該組別取得 Runner。記下帳戶可用的授權範圍、工作流程結果及核對人。由於管理層級和方案會影響設定選項,請以當前官方文件與帳戶介面為準。

macOS 工作流程如何路由至指定組別?

在工作流程的 runs-on 設定中指定組別,並確認標籤與可用 Runner 相符。先在非發布任務驗證執行結果,再擴大遷移範圍。組別管理執行資源的使用範圍,標籤協助配對 Runner;只選標籤不等同完成倉庫授權。

調整標準 Runner 標籤前要檢查甚麼?

盤點仍引用標準標籤的倉庫與工作流程,逐項確認替代路由、成功結果和回退負責人。檢查變更會否令必要任務無法排程,並保存調整前後的驗收紀錄。若同時修改組織層級的 Actions 限制,應將兩種變更分開審核。

Runner Group 能否代替網路隔離?

不能。GitHub 公告說明,macOS Runner 目前不支援網路配置;組別權限、並行控制和工作流程路由不代表具備網路隔離能力。若任務依賴內部網段、出站規則或特定服務連線,先列明必要條件並核實可用執行環境,再決定是否需要其他方案。

現有托管 Runner 不合需求時,另行評估 Mac 執行環境

如果你的工作流程只需要 GitHub 托管 Runner 提供的執行條件,完成組別授權和路由驗收後,繼續使用現有方案通常較直接。但當工作需要目前不支援的網路配置、需要由團隊管理執行環境,或標準資源無法符合既定流程時,就應把現有方案與其他 Mac 執行環境並列評估;同時考量環境維護責任、存取管理及工作流程調整,而不是只比較單次執行設定。

遠端 Mac 也不是每個團隊的最佳選擇:如果你需要 GitHub Runner 特有的整合方式,或無法承擔額外的環境管理,就不應假設租用 Mac 能直接取代現有 Runner,更不能預設兩者已具備整合能力。若只想為短期測試或特定工作負載補充 Mac 環境,可先查看 VPSMerge 遠端 Mac 服務資料,再依實際需求確認配置、租用條件及交付方式;涉及資料處理要求時,也可先閱讀 資料私隱說明。

常見問題

怎樣只讓指定倉庫使用某個 macOS Runner Group?

先在組織或企業設定中確認目標 Runner Group 的可用範圍,再依目前帳戶介面授權需要執行工作的倉庫。用已授權與未授權的代表性倉庫各跑一次低風險工作流程,核對前者進入預期組別、後者無法透過這個組別取得 Runner。不同計畫和管理層級的選項可能不同,應以當前官方文件及帳戶介面為準。

工作流程如何選擇指定的 macOS Runner Group?

在工作流程的 runs-on 設定中指定群組,並確認搭配的標籤符合該組內可用 Runner 的標籤。群組負責路由到受該組政策管理的執行資源,標籤則用來匹配 Runner;兩者不是可互換的存取控制。先用非發布工作流程驗證實際執行位置,再將相同設定推廣至其他工作流程。

停用標準 GitHub-hosted Runner 標籤前,應先做哪些檢查?

盤點所有倉庫和工作流程對標準標籤的引用,確認每個必要工作均已改用預期群組,並完成成功、拒絕及回退測試。檢查變更是否造成工作無法排程或意外失敗,也要指定回退負責人並保存變更紀錄。不要把限制 GitHub Actions 的組織設定與調整 Runner 標籤視為同一項操作。

macOS Runner Group 可以提供網路隔離嗎?

不可以把 Runner Group 當成網路隔離工具。GitHub 的官方公告指出,macOS Runner 目前不支援網路配置;群組可用於管理使用權限、並行控制和工作流程路由,但不代表能建立網路邊界。若工作需要特定網段、出站限制或內部服務連線,先核對現有 Runner 能否提供所需網路條件,再評估其他執行環境。

為 macOS CI 配置專屬執行節點

VPSMerge 提供獨享實體 Apple Silicon M4 Mac mini,可安裝自託管 runner,依團隊需求設定標籤與工作流程路由。

租用建置節點

依建置需求選擇規格

先確認記憶體與儲存空間,再選擇計費週期與節點。