macos 上极简 gitlab runner 环境需切换至 bash、安装 homebrew/xcode cli 工具、下载对应架构 runner 二进制,注册 shell 执行器并启动;验证时作业以当前用户身份运行,支持访问钥匙串及 homebrew 工具。
要在 macos 上快速搭建一个支持本地自动化构建的极简 gitlab runner 环境,核心是绕过容器依赖、直接使用 shell 执行器,并确保基础工具链就绪。整个过程不涉及 docker、kubernetes 或自动扩缩容,适合个人项目、ci 调试或 ios/macos 应用构建。
确认系统与 Shell 环境
macOS 默认已启用 SIP,但无需关闭;重点是确保终端使用 bash(不是 zsh),因为部分 GitLab Runner 脚本和注册流程在 zsh 下存在兼容性问题:
- 运行
echo $SHELL,若输出不是/bin/bash,执行chsh -s /bin/bash并输入密码 - 关闭当前终端,新开一个,再次检查
$SHELL是否已生效 - 确保 macOS 版本 ≥ 11.4(如 Ventura 或更高),系统更新至最新安全补丁
安装必要基础工具
极简环境只需三样:Homebrew(包管理)、Xcode 命令行工具(编译支持)、GitLab Runner 二进制文件(轻量单文件):
- 安装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装 Xcode 命令行工具:
xcode-select --install(弹窗确认即可,无需完整 Xcode IDE) - 下载对应芯片架构的 GitLab Runner:
• Intel Mac:sudo curl -L "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-darwin-amd64" -o /usr/local/bin/gitlab-runner
• Apple Silicon:sudo curl -L "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-darwin-arm64" -o /usr/local/bin/gitlab-runner - 赋予执行权限:
sudo chmod +x /usr/local/bin/gitlab-runner
注册并启动 shell 类型 Runner
这一步跳过 Docker、SSH 或 Parallels 等复杂执行器,直选 shell —— 任务将在当前用户上下文下以普通 shell 进程运行,适合调试和本地构建:
- 确保你已登录图形界面或通过
su - $USER切换到目标用户(服务必须由登录用户安装) - 运行注册命令:
gitlab-runner register,按提示依次输入:
• GitLab 实例 URL(如https://jihulab.com)
• 项目或组的registration token(在项目 Settings > CI/CD > Runners 页面获取)
• Runner 描述(自定义,如macos-local-shell)
• Tag list(可留空,或填macos,shell方便后续 job 指定)
• Enter an executor: 输入shell - 注册成功后,运行:
gitlab-runner install && gitlab-runner start - 验证状态:
gitlab-runner status应显示running;日志可查:gitlab-runner run --debug(临时前台运行看细节)
验证与最小 CI 配置
写一个最简 .gitlab-ci.yml 测试是否真正可用:
build-test:
script:
- echo "Running on $(sw_vers -productName) $(sw_vers -productVersion)"
- which git && git --version
- xcodebuild -version 2>/dev/null || echo "Xcode CLI tools ready"
提交后,进入 CI/CD > Jobs 页面,应看到作业被该 Runner 拾取并成功完成。注意:
• 所有命令以当前用户身份执行,能访问用户目录、钥匙串(如需 codesign)、Homebrew 安装的工具
• 若需 Ruby/Python/Node 等语言环境,用 Homebrew 或 rbenv/pyenv 安装即可,Runner 不干涉其管理











