设置 macOS Runner
在 macOS Runner 上运行 CI/CD 作业,您需要按顺序完成以下步骤:
当您完成后,极狐GitLab Runner 会在 macOS 机器上运行,并且单个 Runner 也准备好处理作业。
- 更改 Bash 的系统 Shell。
- 安装 Homebrew、rbenv 和极狐GitLab Runner。
- 配置 rbenv 并安装 Ruby。
- 安装 Xcode。
- 注册 Runner。
- 配置 CI/CD。
先决条件
在开始之前,您需要:
- 安装近期版本的 macOS。本指南中的配置基于 11.4。
- 确保您拥有访问机器的终端或 SSH。
更改 Bash 的系统 Shell
新版本的 macOS 和 Zsh 一起构成默认的 Shell。 您必须将其更改为 Bash。
-
连接您的机器并确定默认 Shell:
echo $SHELL
-
如果值不是
/bin/bash
,运行下列命令更改 Shell:chsh -s /bin/bash
- 输入密码。
- 重启您的终端或使用 SSH 重新连接。
- 重新运行
echo $SHELL
。结果应该为/bin/bash
。
安装 Homebrew、 rbenv 和极狐GitLab Runner
Runner 需要特定环境选项连接机器并运行作业:
-
安装 Homebrew 包管理器:
/bin/bash -c "$(curl "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh")"
-
设置
rbenv
,它是 Ruby 版本管理器,并且极狐GitLab Runner:brew install rbenv gitlab-runner brew services start gitlab-runner
配置 rbenv 并安装 Ruby
现在来配置 rbenv 并安装 Ruby。
-
添加 rbenv 到 Bash 环境:
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile source ~/.bash_profile
-
安装 Ruby 2.74 并将其设置为机器的全局默认值:
rbenv install 2.7.4 rbenv global 2.7.4
安装 Xcode
现在安装并配置 Xcode。
-
前往下列位置并安装 Xcode:
- 苹果应用商店。
- 苹果开发者门户。
-
xcode-install
。这个项目是为了让用户更容易地从命令行下载多种苹果依赖。
-
同意许可证并安装推荐的额外组件。 您可以打开 Xcode 并根据提示操作,或者在终端中运行以下命令:
sudo xcodebuild -runFirstLaunch
-
更新活跃的开发者目录,这样 Xcode 就可以在您的构建中加载合适的命令行工具:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
注册 Runner
现在我们来注册 Runner,开始您的 CI/CD 作业。
- 在左侧边栏中,选择 搜索极狐GitLab () 找到您的项目或群组。
- 选择 设置 > CI/CD。
- 展开 Runner。
- 记录 URL 和注册令牌。
-
在终端中开启交互设置:
gitlab-runner register
- 输入极狐GitLab URL。
- 输入注册令牌。
-
输入 Runner 的描述。 您将使用描述识别极狐GitLab 中的 Runner。名称与实例上执行的作业相关联。
-
输入标签,将特定作业指引到特定实例。您之后将会用到这些标签,以确保 macOS 作业在这个 macOS 机器上运行。在这个例子中,输入:
macos
- 输入
shell
选择 Shell 执行器。
会显示成功信息。
> Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
如果您想查看 Runner,单击 设置 > CI/CD 并展开 Runners。
配置 CI/CD
在您的极狐GitLab 项目中,配置 CI/CD 并开启构建。您可以使用这个 .gitlab-ci.yml
示例文件。
注意标签要与您注册 Runner 的标签匹配。
stages:
- build
- test
variables:
LANG: "en_US.UTF-8"
before_script:
- gem install bundler
- bundle install
- gem install cocoapods
- pod install
build:
stage: build
script:
- bundle exec fastlane build
tags:
- macos
test:
stage: test
script:
- bundle exec fastlane test
tags:
- macos
macOS Runner 现在可以构建您的项目了。