Fastlane 설치 및 환경 구성 가이드 (rbenv, Ruby, Bundler)
Last updated
Last updated
Fastlane 사용 시 꼭 읽어봐야 하는 자료
Fastlane은 iOS 및 Android 앱 배포 자동화를 지원하는 강력한 도구입니다. 설치 방법으로는 Homebrew와 Bundler방식이 있지만, 안정적인 종속성 관리를 위해 Bundler를 통한 설치가 더 권장됩니다.
항목
Homebrew
Bundler
설치 방식
시스템 전체에 Fastlane 설치
프로젝트별로 Gemfile을 통해 설치
종속성 관리
전역 Gem 환경에 의존 (프로젝트 간 충돌 가능)
프로젝트 격리 (Gemfile로 관리)
환경 재현성
동일 환경 보장 어려움
Gemfile.lock으로 환경 재현 가능
시스템 Ruby 사용 여부
기본적으로 사용
원하는 Ruby 버전 사용 가능
권장 여부
단순 테스트용 적합
실무 프로젝트에 권장
따라서 실무 환경에서는 Bundler를 통한 설치를 진행합니다.
Bundler는 Ruby 기반 Gem 관리 도구입니다. 따라서 Ruby 인터프리터가 설치되어 있어야 Bundler를 사용할 수 있습니다.
macOS는 기본적으로 Ruby를 시스템 경로(/usr/bin/ruby)에 설치하여 제공합니다. 그러나 시스템 Ruby는 여러 한계를 가지고 있어, 실제 개발 환경에서는 rbenv를 통해 Ruby를 독립적으로 설치하고 사용하는 것이 권장됩니다. 아래는 그 이유입니다.
오래된 버전 제공 macOS 기본 Ruby는 최신 버전이 아닌 경우가 많습니다. 이로 인해 최신 Gem과의 호환성 문제가 발생할 수 있습니다.
권한 문제 시스템 디렉토리(/Library/Ruby 또는 /usr/bin)에 설치된 Ruby는 Gem 설치 시 관리자 권한(sudo)이 필요합니다. 예를 들어, fastlane-plugin-jira_release_notes plugin 설치할 떄 다음과 같은 에러가 발생할 수 있습니다:
이는 Gem 설치를 위한 쓰기 권한이 없어서 발생하는 문제입니다.
환경 충돌 위험 여러 프로젝트가 서로 다른 Ruby 버전과 Gem 구성을 요구할 경우, 시스템 Ruby를 사용하면 충돌이 발생할 가능성이 큽니다. 시스템 Ruby는 이러한 프로젝트 간 충돌을 효과적으로 관리하기 어렵습니다.
rbenv는 Ruby 버전을 독립적으로 설치 및 관리할 수 있도록 돕는 도구로, 다음과 같은 장점이 있습니다:
권한 문제 해결 rbenv는 Ruby와 Gem을 사용자 홈 디렉토리 내에서 관리하므로, 시스템 디렉토리(/Library/Ruby)에 쓰기 권한이 없어도 문제없이 사용할 수 있습니다. 앞서 언급된 권한 에러도 rbenv를 사용하면 해결할 수 있습니다.
최신 Ruby 버전 설치 가능 rbenv를 사용하면 macOS 기본 Ruby와 독립적으로 최신 Ruby 버전을 설치하고 관리할 수 있습니다. 이는 최신 Gem과의 호환성을 보장하며, 안정적인 개발 환경을 제공합니다.
프로젝트별 Ruby 버전 관리 rbenv는 프로젝트마다 다른 Ruby 버전과 Gem 구성을 설정할 수 있어, 환경 충돌 문제를 효과적으로 방지합니다.
관리자 권한 없이 Gem 설치 가능 rbenv는 시스템 디렉토리를 사용하지 않으므로, Gem 설치 시 sudo가 필요하지 않아 더 편리하고 안전합니다.
이러한 문제를 피하기 위해 rbenv를 사용하여 최신 Ruby를 설치하고, Bundler를 통해 Fastlane을 설치하는 방법을 권장합니다.
Bundler와 Gemfile을 활용해 Fastlane의 의존성을 관리하기 위해 먼저 Bundler 설치가 필요합니다. Bundler는 최신 버전의 Ruby가 설치된 환경에서 정상적으로 작동하므로, 아래 단계에 따라 먼저 rbenv를 설치합니다.
위 단계를 완료하면 최신 버전의 Ruby를 설치 진행 가능합니다.
이제 Ruby 최신 버전 사용을 시작할 수 있습니다. 😉
Bundler 설치
Ruby 환경이 준비되면 Bundler를 설치해 프로젝트의 Gem 의존성을 관리합니다.
프로젝트 초기화 및 의존성 추가
아래 코드 실행 후 Gemfile
이라는 파일이 생성됩니다.
Gemfile 수정
- 생성된 Gemfile
을 열어 아래 내용을 추가합니다.
의존성 업데이트
- 변경된 내용을 적용하고 의존성을 설치합니다.
- 실행 후 Gemfile.lock
파일이 생성됩니다.
이 두 파일(Gemfile
과 Gemfile.lock
)은 버전 관리 시스템(Git 등)에 추가해야 합니다.
Bundler 설치
- 위와 같이 최신 Ruby 환경이 준비되었다면 Bundler
를 설치하여 프로젝트 의존성을 관리합니다.
bundle install
은 Gemfile
에 명시된 gem들을 설치하는 명령어입니다.
이미 Gemfile
에 fastlane
이 포함되어 있기 떄문에 ,
bundle install
을 실행하면 fastlane
이 자동으로 설치됩니다.
Fastlane을 프로젝트에 설정하려면 아래 명령어를 실행합니다.
fastlane 참고