自架 GITHUB ACTIONS RUNNER

工作來了,runner 就緒。

一個程序在你的主機上依工作需求啟動 Docker 容器或 macOS VM。每個 runner 只執行一個工作,完成後便會移除。

0 → N依需求擴縮
1 job使用全新 runner
1 binary在主機上

運作原理

容量跟著工作佇列走。

沿用你的主機與工作流程;Runscaler 負責中間的 runner 生命週期。

01 / 等待

有工作才啟動

透過 GitHub scale-set API 長輪詢,在收到工作指派時啟動 runner。

02 / 執行

依主機選擇環境

在 Docker 主機使用容器;macOS 工作則可使用 Tart VM。

03 / 回收

工作結束後清理

每個 runner 只處理一個工作。完成後會移除,重新啟動時也會清理遺留資源。

開始使用

選好主機設定,複製即可使用。

選擇基本選項並複製 TOML。在主機上填入憑證,再用 runner validate 檢查實際環境。

此網頁不輸入憑證
01 要在哪裡執行?
02 連接 GitHub
03 設定容量

請依主機可用資源設定。

已安裝 GitHub Actions runner 的 Docker 映像檔。

會掛載主機 Docker socket,讓工作取得等同主機 root 的權限。啟用時切勿執行公開 fork 的 PR。安全性說明。

04 選擇驗證方式

繼續前請確認 GitHub 所需權限。

你的設定檔

config.toml

TOML

輸入 GitHub 網址與規模集名稱,即可預覽設定檔。

憑證留在你的主機。

複製的檔案會保留空白的 token = "";請在主機上填入 PAT 後再驗證。

在主機完成設定

複製、存檔、驗證、執行。

網頁只產生設定文字;runner 會檢查主機與 GitHub 存取權。

01

安裝

先啟動 Docker,再於 Linux 安裝 runner 執行檔。

curl -fsSL https://raw.githubusercontent.com/ysya/runscaler/main/install.sh | sudo sh
02

存檔並填入憑證

將 TOML 貼到檔案,在主機填入 PAT 或放置 App 私鑰檔案,再保護設定檔。

sudo install -d -m 0700 /etc/runner
sudoedit /etc/runner/config.toml
sudo chmod 0600 /etc/runner/config.toml
03

安裝服務

新的系統服務會在啟動前檢查 Docker 與 GitHub 存取權。

sudo /usr/local/bin/runner service install --config-path /etc/runner/config.toml
sudo /usr/local/bin/runner status
最後在工作流程指定規模集
runs-on: my-runners