最近一直在白嫖 Github Action 来爬取VPS的库存信息(详见签名网站),不知不觉就超过了 每月2000分钟的免费限额。
于是找到了如下方面使用selfhost的方式部署,分享之。
获取仓库级别的配置信息
Settings->Actions->Runners->new self-hosted runner
在配置项目里面找到 如 ./config.cmd --url https://github.com/xxx/xxxx --token thisisatoken 的配置信息使用 docker compose 启动 runner
新建 compose.yml 如下:services: worker: image: myoung34/github-runner:latest environment: REPO_URL: https://github.com/xxx/xxxx # --url 也就是仓库地址 RUNNER_NAME: hd # 区分用的名字,随意 RUNNER_TOKEN: thisisatoken # --token 的值 RUNNER_WORKDIR: /tmp/runner/work RUNNER_SCOPE: 'repo' LABELS: linux,x64 security_opt: - label:disable restart: always volumes: - '/var/run/docker.sock:/var/run/docker.sock' - '/runner/data:/runner/data' # required for persistence - '/tmp/runner:/tmp/runner'而后 docker compose up -d 启动即可。
检查状态是否正常
Settings->Actions->Runners 中能看到 自己的主机已经上线,且处于闲置(Idle)。将Action的任务放到主机去跑
将原先 workflows 文件中的 runs-on: 的值改为 self-hosted,然后触发Action,即可发现任务可以成功下发到自己的主机上。
值此已经大功告成,既可以利用闲置主机,又不怕Github的账单超了。
更多用法,可参考原项目的 WIKI => https://github.com/myoung34/docker-github-actions-runner/wiki/Usage
评论 (0)