iOS
자동화?! fastlane 에 대해 알아보자
gym 을 이용한 빌드 자동화 에서 잠깐 언급한 fastlane 에 대해 알아보려고 한다.
fastlane 은 제공되는 여러 가지 툴, 액션, 옵션, 쉘 스크립트 등을 이용하여 워크플로우를 만들 수 있게 해준다.
Ruby
fastlane 을 사용하기 위해서는 Ruby 에 대한 지식이 필요하다.
설치 및 실행
다음과 같이 크게 5 단계로 나눌 수 있으며, 자세한 내용은 가이드 를 참고하자.
1. fastlane 을 설치한다.
sudo gem install fastlane --verbose
2. 해당 프로젝트 폴더에서 fastlane 을 초기화하고 설정을 잡는다.
cd [your_project_folder]
fastlane init
3. Appfile 에 Apple ID, Bundle Identifier 를 입력한다.
4. Fastfile 에 임의의 lane 을 작성한다.
5. lane 을 실행한다.
fastlane [lane_name]
Disable crash reporting
에러가 발생하면 다음과 같은 메세지가 출력된다.
Successfully submitted a crash report. If this is a problem with one of the tools specifically,
please submit an issue on GitHub and attach the following number to it: ‘b1a73459bd9e82f927c0470581e6af55’
The crash report has been stored locally ‘/tmp/sentry_b1a73459bd9e82f927c0470581e6af55.json’
시행착오로 발생하는 에러가 대부분이므로 해당 기능을 비활성화한다.
fastlane disable_crash_reporting
Environment Variables
Ruby 에서는 dotenv 를 이용하여 환경 변수를 관리한다.
1. dotenv 가 설치된 상태인지 확인한 이후, 추가하도록 한다.
gem list dotenv
gem install dotenv
2. .env 파일을 생성한다.
touch .env
3. 환경 변수를 추가한다.
S3_BUCKET = "YOURS3BUCKET"
SECRET_KEY = "YOURSECRETKEYGOESHERE"
4. 다음과 같은 방식으로 사용한다.
ENV["S3_BUCKET"]
Fastfile
fastlane tools, Actions, 쉘 스크립트를 이용하여 워크플로우를 만들 수 있다.
크게 before_all, lane, after_all, error 로 구성되어 있으며, 하나의 lane 에서 다른 lane 을 호출하는 등 다양한 방법으로 사용이 가능하다.