macOS上安装gitlab-runner安装与配置
1. 前言
本文主要介绍使用二进制文件方式在macOS上安装并注册gitlab-runner.
2. 下载gitlab-runner
根据不同种类的CPU, 下载不同的二进制文件.
对于Intell CPU, 使用如下命令下载.
1 |
|
对于Apple Silicon CPU, 使用如下命令下载.
1 |
|
3. 安装特定版本的gitlab-runner
以上方式下载的是最新版gitlab-runner, 也许会与gitlab server存在兼容性问题.
推荐下载与gitlab server相兼容的gitlab-runner的特定版本.
在Bleeding Edge - download any other tagged release页面上找到特定版本的二进制文件连接, 将以上命令中的url替换即可.
3.1. 首先确定gitlab服务器版本
首先确定gitlab版本信息, 可以使用如下命令在服务器端查询, 当然也可以在gitlab web界面帮助信息中找到版本号.
1 | gitlab-rake gitlab:env:info |
知道了gitlab版本, 我们就可以找到gitlab-runner的下载地址, 虽然不是每一个版本的gitlab-runner下载地址都列在了在Bleeding Edge - download any other tagged release页面, 但是一些关键信息, 但是我们还是能从中获取一些关键信息.
关于gitlab-runner与gitlab的兼容性原则,gitlab和gitlab-runner在主版本和小版本(major.minor)保持同步,具有相同主版本和小版本号的gitlab和gitlab-runner兼容性最好, 较老的runner可能可以兼容比較新的gitlab,反之亦然,但是不能完全保证.详情请参考官网关于兼容性原文
例如对于版本15.8.1-ee的gitlab, 其对应的macOS intel cpu架构的gitlab-runner应该是https://gitlab-runner-downloads.s3.amazonaws.com/v15.8.1/binaries/gitlab-runner-darwin-amd64, 所以下载命令应该如下:
1 |
|
4. 授予gitlab-runner可执行权限
1 |
|
5. 安装gitlab-runner并作为服务启动
与其它操作系统不同的是, macOS需要运行在当前用户下, 而不像其它操作系统可以为gitlab-runner单独创建一个用户.
打开终端首先切换到当前用户.
1 |
|
将gitlab-runner安装为一个服务并启动它
1 | cd ~ |
重启计算机.
注意
当注册gitlab-runner在 macOS 上构建 iOS 或 macOS 应用程序时,请使用 shell 执行器。pipeline job将直接在主机上以登录用户运行。这些作业不会在容器中运行,这比使用容器执行器安全性较低。有关详细信息,请参阅安全影响文档。
6. 注册gitlab-runner
向GitLab-CI注册一个Runner需要两样东西:GitLab-CI的url和注册token。
其中,token是为了确定你这个Runner是所有工程都能够使用的Shared Runner还是具体某一个工程才能使用的Specific Runner。
如果要注册Shared Runner,你需要到管理界面的Runners页面里面去找注册token.
打开gitlab页面menue > admin > CI/CD > runners, 在Setup shared runner一节可以找到相应的url和token
注册完成之后,在页面menue > admin > runner就会多出一条Runner记录
1
2
3
gitlab-runner register --url your_gitlab_server_url --registration-token your_token注册完成后, 会有消息输出告诉配置文件的位置 “/Users/
/.gitlab-runner/config.toml”
7. 关联阅读
8. troubleshooting
问题i: gitlab-runner注册之后, admin> runner界面去查询, runner的状态是”Never contacted”
问题排查: 执行gitlab-runner health-check
, 检测gitlab-runner的健康状况
解决办法: 需要手动执行gitlab-runner verify
, 详情请参考这里
问题2: gitlab-runner不主动pick up任务
原因: 未知, 有很多人遇到相同的问题, 参考这里 截至目前2023/08/24还没有得到回复.
临时解决方案: 在macos下主动运行run命令
1 |
|
9. 参考文档
macOS上安装gitlab-runner安装与配置