设置 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。

将系统 shell 改为 Bash

新版本的 macOS 和 Zsh 一起构成默认的 Shell。 您必须将其更改为 Bash。

  1. 连接您的机器并确定默认 Shell:

    echo $SHELL
    
  2. 如果值不是 /bin/bash,运行下列命令更改 Shell:

    chsh -s /bin/bash
    
  3. 输入密码。
  4. 重启您的终端或使用 SSH 重新连接。
  5. 再次运行 echo $SHELL。结果应该为 /bin/bash

安装 Homebrew、 rbenv 和极狐GitLab Runner

Runner 需要特定环境选项连接机器并运行作业:

  1. 安装 Homebrew 包管理器:

    /bin/bash -c "$(curl "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh")"
    
  2. 设置 rbenv,它是 Ruby 版本管理器,并且极狐GitLab Runner:

    brew install rbenv gitlab-runner
    brew services start gitlab-runner
    

配置 rbenv 并安装 Ruby

现在来配置 rbenv 并安装 Ruby。

  1. 添加 rbenv 到 Bash 环境:

    echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
    source ~/.bash_profile
    
  2. 安装 Ruby 3.3.x 并将其设置为机器的全局默认值:

    rbenv install 3.3.4
    rbenv global 3.3.4
    

安装 Xcode

现在安装并配置 Xcode。

  1. 前往下列位置并安装 Xcode:

  2. 同意许可证并安装推荐的额外组件。 您可以打开 Xcode 并根据提示操作,或者在终端中运行以下命令:

    sudo xcodebuild -runFirstLaunch
    
  3. 更新活跃的开发者目录,这样 Xcode 就可以在您的构建中加载合适的命令行工具:

    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    

创建并注册项目 Runner

创建并注册项目 Runner。

当您创建并注册 Runner 时:

  • 在极狐GitLab 中,添加 macos 标签以保证 macOS 作业在这个 macOS 机器上运行。
  • 在命令行中,选择 shell 作为执行器

注册 Runner 后,命令行中会显示一条成功消息:

> Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

查看 Runner:

  1. 在左侧边栏的顶部,选择 搜索或转到 以查找您的项目。
  2. 选择 设置 > CI/CD
  3. 展开 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 现在可以构建您的项目了。