macOS 러너 설정

macOS 러너에서 CI/CD 작업을 실행하려면 다음 단계를 순서대로 완료하세요.

작업이 완료되면 GitLab 러너가 macOS 머신에서 실행되며 개별 러너가 작업을 처리할 준비가 됩니다.

  • 시스템 쉘을 Bash로 변경합니다.
  • Homebrew, rbenv 및 GitLab 러너를 설치합니다.
  • rbenv를 구성하고 Ruby를 설치합니다.
  • Xcode를 설치합니다.
  • 러너를 등록합니다.
  • CI/CD를 구성합니다.

준비 사항

시작하기 전에:

  • 최신 버전의 macOS를 설치합니다. 이 가이드는 11.4에서 개발되었습니다.
  • 머신에 터미널 또는 SSH 액세스가 있는지 확인합니다.

시스템 쉘을 Bash로 변경

최신 macOS 버전에는 기본 쉘로 Zsh가 제공됩니다. 이를 Bash로 변경해야 합니다.

  1. 머신에 연결하여 기본 쉘을 확인합니다:

    echo $SHELL
    
  2. 결과가 /bin/bash가 아닌 경우 다음 명령을 실행하여 쉘을 변경합니다:

    chsh -s /bin/bash
    
  3. 비밀번호를 입력합니다.
  4. 터미널을 다시 시작하거나 SSH를 사용하여 다시 연결합니다.
  5. 다시 echo $SHELL을 실행합니다. 결과는 /bin/bash여아 합니다.

Homebrew, rbenv 및 GitLab 러너 설치

러너는 머신에 연결하고 작업을 실행하기 위해 특정 환경 옵션이 필요합니다.

  1. Homebrew 패키지 관리자를 설치합니다:

    /bin/bash -c "$(curl "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh")"
    
  2. Ruby 버전 관리자 인 rbenv 및 GitLab 러너를 설정합니다:

    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 2.7.4를 설치하고 머신의 글로벌 기본값으로 설정합니다:

    rbenv install 2.7.4
    rbenv global 2.7.4
    

Xcode 설치

이제 Xcode를 설치하고 구성합니다.

  1. Xcode를 다음 위치 중 하나로 이동하여 설치합니다:

  2. 라이센스에 동의하고 권장하는 추가 구성요소를 설치합니다. Xcode를 열고 지시에 따르거나 터미널에서 다음 명령을 실행하여 수행할 수 있습니다:

    sudo xcodebuild -runFirstLaunch
    
  3. 빌드 중에 올바른 명령줄 도구를 로드하도록 활성 개발자 디렉터리를 업데이트합니다:

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

프로젝트 러너 생성 및 등록

이제 프로젝트 러너를 생성하고 등록하세요.

러너를 생성하고 등록한 후:

  • GitLab에서 macOS 작업을 실행하려면 태그 macos를 추가합니다.
  • 명령줄에서 executorshell을 선택합니다.

러너 등록 후 명령줄에 성공 메시지가 표시됩니다:

> 러너가 성공적으로 등록되었습니다. 이미 실행 중이면 구성이 자동으로 다시로드됩니다!

러너를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트 또는 그룹을 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.

CI/CD 구성

GitLab 프로젝트에서 CI/CD를 구성하고 빌드를 시작합니다. 이 샘플 .gitlab-ci.yml 파일을 사용할 수 있습니다. 태그가 러너 등록에 사용된 태그와 일치하는지 주의하세요.

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 러너가 프로젝트를 빌드해야 합니다.