Fastlane (1)

HYUNGU, KANG·2022년 9월 27일
2

Fastlane

목록 보기
1/4

이 글에서는 실제 연동까지 실습을 진행하지는 않습니다.
단순히 진행에 필요한 기본 배경지식만을 설명합니다.

https://fastlane.tools/
앱 빌드 및 배포에 필요한 기능들을 스크립트로 작성해놓고, 명령어 한줄로 실행할 수 있다.

그렇기 때문에 fastlane 명령어로 빌드 및 배포가 가능하게 프로젝트 환경을 구성해놓은 뒤, 로컬에서 명령어를 실행하면 로컬에서 손쉽게 배포가 가능하고 CircleCI / Github Actions 머신에서 fastlane 명령어를 실행하면 로컬 리소스를 사용하지 않고 원격 머신을 이용한 배포가 가능해진다.
여기에 Trigger(PR merge, commit) 와 fastlane 명령어를 함께 엮으면 배포 자동화도 가능해진다.

기본적인 기능 이외에도, 유저들이 만든 플러그인들이 많고 이또한 동일한 방식으로 실행 가능하다.
https://docs.fastlane.tools/plugins/available-plugins/
(Fastlane 은 ruby 로 만들어졌고, gem(npm 같은것) 을 이용해서 플러그인등을 설치해야함.)

Fastlane script

lane :beta do
  increment_build_number
  build_app
  upload_to_testflight
end

lane :appstore do
  capture_screenshots
  build_app
  upload_to_app_store
  slack
end
  • increment_build_number - 빌드 넘버를 증가시켜줌
  • build_app - 앱을 빌드하는 명령어를 실행, 파라메터로 configuration(debug, release 모드) 및 다양한 빌드 옵션 설정 가능
  • upload_to_testflight - 테스트 플라이트에 업로드
  • capture_screenshots - 앱의 스크린샷을 캡쳐
  • upload_to_app_store - 앱스토어에 업로드
  • slack - 슬랙에 메세지 전송

스크립트는 Fastfile 에 작성을 해야하고 각 android/ios 폴더 하위에 작성하면 된다. (fastlane init 명령어로 초기 설정이 가능)
작성한 스크립트들의 묶음은 lane 이라고 부르고, CLI 에서 lane 이름을 명령어로 실행할 수 있다.
위에서 작성한 lane :appstore 는 fastlane appstore 와 같이 실행 가능

전체적인 실행 과정


전처리 (version, build_number, badge)


빌드 & 사이닝 (signing key & provisioning profile)


배포 (firebase distribution, testflight, playstore alpha/beta, playstore/appstore)


후처리 (slack)

profile
JavaScript, TypeScript and React-Native

0개의 댓글