[GitHub Action] 建立 GitHub Action Self Host Runner

建立 GitHub Action Self Host Runner 

将 Runner 注册到 GitHub

将 Runner 注册到 GitHub

要拥有 Github repo / 组织 权限的人去加入,然后依照 Adding self-hosted runners 教学去注册 runner,基本上有 2 种方式

  • Adding a self-hosted runner to a repository
  • Adding a self-hosted runner to an organization

注意:如果要一台 runner 提供给多个 repo 使用的话,只能使用注册到 组织 的方式

建立的流程大致上是

  1. ~ 建立一个 action-runner 的目录
  2. 使用指令下载一包压缩档到该目录
  3. 解压缩该档案(里面就是包含 Runner 所需要的 shell script 档案)
  4. 执行注册到 GitHub 的 script ( 使用 config.sh,指令请依照 GitHub 页面指示,GitHub 页面会戴上注册用的 token )
  5. 执行启动 GitHub Runner 指令的 script ( 使用 run.sh )

注册 Self Host Runner 过程中注意事项

加入的过程中会问你是否要加入 GroupLabel

Group

主要是要能够使用 Runner Group 时候使用,可以参考 Managing access to self-hosted runners using groups 来建立,所以如果没有设定的话就留空即可

预设值是 Default

Label

执行建立 Runner 的指令过程中,除了一些会预设给的 label 外,也会问你要不要制订 custom lable,这个 label 就可以用于在 GitHub Action Flow YAML 里面的 runs-on 来指定要跑得 runner

以 M1 Mac Book Air 来说会有下列预设 label

  • self-hosted
  • macOS
  • ARM64

如果执行指令的时候没有新增,后面也可以去 GitHub 网站的设定里面再新增,可以参考 Using labels with self-hosted runners,所以如果仅有一台 runner 的话可以在 GitHub Action Workflow 的 YAML 档案中写 runs-on: self-hosted 即可

执行 Runner 后检查

Runner 注册好后,要去 GitHub 的 Runners 里面看看 Status 是不是有连上,若为 Offline 则是尚未连上,可以用 CLI 去 runner 的 actions-runner 资料夹里面执行 run-helper.sh 试看看

把 GitHub self host runner application 变成 service

注册的最后一步执行 ./run.sh 意思就是相依于一个 terminal instance,所以一旦把 terminal 关闭的话 runner 和 GitHub 的连线就会断掉无法使用,也就是说一旦重新开机的时候就不会自动连上

可以参考 Configuring the self-hosted runner application as a service 这篇改注册成 service

移除 Self host runner

可以参考 Removing self-hosted runners

基本上就是从 GitHub 页面上面可以在 Runner 的页面点了 Remove ,如果还可以控制到那台 runner 机器的话,可以依照提供的指令去解除跟 repo / 组织 的绑定,不然也可以强制解除绑定

如果有使用指令解除绑定的话,就可以再次使用指令重新绑定,否则如果要重新绑定的话,可以使用下列的方式暴力但简单的清除

  • 叫出 工作管理员 (Windows) / 活动监视器 (Macos)
  • 结束 Gibhub runner 的 task
  • 删除 actions-runner 的目录
    • MacOS 目录通常位于 ~ 下,Windows 的话通常位于 C:\

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章

5 点赞(415) 阅读(67)