2026 年每日通報的 CVE 數量比前一年多 131%。
← 返回術語表

CI 執行器

CI 執行器是執行 CI/CD 管線作業的機器:它從 CI 服務接收作業、執行其中的步驟,並回報結果。

最後更新:2026年11月11日

CI 執行器(runner)是執行 CI/CD 管線作業的實體或虛擬機器。它從 CI 服務接收作業、簽出程式碼、執行步驟,並回報結果。Jenkins 與 Azure Pipelines 將同樣的東西稱為 agent,其他系統則稱為 executor。

GitHub Actions 中的執行器如何運作

工作流程的 runs-on 標籤決定由哪個執行器接手作業:GitHub 會尋找符合作業標籤與群組的線上執行器,沒有任何執行器接手的作業會留在佇列中,並在 24 小時後失敗(GitHub 的自架執行器參考文件)。執行器應用程式透過 HTTPS 主動對外連線到 GitHub 以接收作業,在作業執行時將日誌串流回傳;若為暫時性執行器,則會在作業結束後被捨棄。

GitHub 是控制平面:它保存儲存庫、工作流程檔案、機密儲存區、日誌與檢查結果。實際工作則由執行器完成。

三種執行器

執行器可分為暫時性(在全新機器上只執行一個作業)與持久性(在同一台機器上執行多個作業)。暫時性執行器較安全:一個作業留下的任何東西,無論是檔案或憑證,都不會傳到下一個作業。

為什麼執行器對資安很重要

執行器是原始碼、機密與下載的相依套件匯集之處。它持有作業的權杖與雲端憑證,執行每一個套件安裝腳本,並建立建置所發出的每一條網路連線。遭入侵的相依套件會以執行器的權限運作。

因此,執行器是一道資安邊界。請將作業彼此隔離,以對外連線政策限制執行器能連線的範圍,並記錄每個作業取得的內容。

CRACI

CRACI 是 GitHub Actions 執行器。只要使用 runs-on: craci,作業就會移到 CRACI 上執行,而工作流程仍留在 GitHub 中,執行結果也仍會顯示在那裡。每個作業都在對外連線政策的管控下,於各自隔離的虛擬機器中執行,並產生其取得內容的 SBOM。請參閱CRACI 的執行器與CRACI 與 GitHub 託管執行器比較。

CRACI 目前僅為 GitHub Actions 執行 Linux 作業。GitLab CI、Jenkins、Windows 或 macOS 的執行器,需由這些廠商提供或自行架設。