macOS 러너 설정
macOS 머신에서 CI/CD 작업을 실행하려면 순서대로 다음 단계를 완료합니다.
완료하면 GitLab 러너가 macOS 머신에서 실행되며 개별 러너가 작업을 처리할 준비가 됩니다.
- 시스템 셸을 Bash로 변경합니다.
- Homebrew, rbenv, 그리고 GitLab 러너를 설치합니다.
- rbenv를 구성하고 Ruby를 설치합니다.
- Xcode를 설치합니다.
- 러너를 등록합니다.
- CI/CD를 구성합니다.
사전 요구 사항
시작하기 전에 다음을 준수하세요:
- 최신 버전의 macOS를 설치합니다. 이 가이드는 11.4에서 개발되었습니다.
- 머신에 터미널 또는 SSH 액세스가 있는지 확인합니다.
시스템 셸을 Bash로 변경
더 최신 버전의 macOS에는 기본 셸로 Zsh가 탑재되어 있습니다. 이를 Bash로 변경해야 합니다.
-
머신에 연결하고 기본 셸을 확인합니다:
echo $SHELL
-
결과가
/bin/bash
가 아닌 경우 다음 명령을 실행하여 셸을 변경합니다:chsh -s /bin/bash
- 비밀번호를 입력합니다.
- 터미널을 다시 시작하거나 SSH를 사용하여 다시 연결합니다.
- 다시
echo $SHELL
명령을 실행합니다. 결과는/bin/bash
여아 야합니다.
Homebrew, rbenv, 그리고 GitLab 러너 설치
러너는 머신에 연결하고 작업을 실행할 수 있도록 특정 환경 옵션이 필요합니다.
-
Homebrew 패키지 관리자를 설치합니다:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Ruby 버전 관리자인
rbenv
및 GitLab 러너를 설정합니다: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를 설치합니다:
- Apple App Store.
- Apple Developer Portal.
-
xcode-install
. 이 프로젝트는 다양한 Apple 의존성을 명령줄에서 더 쉽게 다운로드할 수 있도록 하는 것을 목표로 합니다.
-
라이선스에 동의하고 권장되는 추가 컴포넌트를 설치합니다. Xcode를 열고 나오는 안내에 따르거나 터미널에서 다음 명령을 실행하여 수행할 수 있습니다:
sudo xcodebuild -runFirstLaunch
-
빌드 중에 올바른 명령줄 도구를 로드하도록 활성 개발자 디렉터리를 업데이트합니다:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
프로젝트 러너 생성 및 등록
이제 프로젝트 러너를 생성하고 등록합니다.
러너를 생성하고 등록하면:
- GitLab에서
macos
태그를 추가하여 이 macOS 머신에서 macOS 작업이 실행되도록합니다. - 명령줄에서 executor로
shell
을 선택하세요.
러너를 등록한 후 명령줄에 성공 메시지가 표시됩니다:
> 러너가 성공적으로 등록되었습니다. 이미 실행 중이면 구성이 자동으로 다시로드되어야합니다!
러너를 확인하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 러너를 확장합니다.
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 러너가 프로젝트를 빌드해야 합니다.