Fastfile의 import 기능을 사용하여 여러 항목에서 공통Fastfile 사용

2662 단어 iOSAndroidfastlane

import_from_git


fastlane의 액션 중 import_from_git이 있는데, 이걸 사용하면 특정Fastfile을 import로 직접 사용할 수 있다.
당사는 모두 3개의 iOS 앱과 3개의 안드로이드 앱을 모두 6개 앱으로 운영하고 있으며 유지보수가 번거롭기 때문에 import 기능을 이용하여 공동의Fastfile을 제작했습니다.
실제 import에는 classi/fastlane-example의 Fastfile이 사용됩니다.

메서드

fastlane_version "2.17.0"

import_from_git(
  url: 'https://github.com/classi/fastlane-example',
  path: 'iOS/fastlane/Fastfile'
)
이렇게 쓰면 import 돼요.
이미 import 파일에서 import을 진행할 수도 있습니다.
나는 Util/Fastfile에서 iOS/Android의 공동 처리를 총결하여 iOS/fastlane/FastfileAndroid/fastlane/Fastfile부터 Util을 가져오기 시작했다.
iOS와 안드로이드를 함께 Fastfile로 만들 수 있지만 이렇게 되면 Fastfile이 길어져서 분할됩니다.
iOS
Android
Util/Fastfile↑ iOS/fastlane/Fastfile↑ 개별 iOS 응용 프로그램의Fastfile
Util/Fastfile↑ 안드로이드/fastlane/Fastfile↑ 개별 안드로이드 응용 프로그램의Fastfile
이런 구성.

환경 변수


Fastfile에서 개별 응용 프로그램을 실행하려면 Fastfile에 입력된 텍스트 열을 환경 변수의 설정으로 변경해야 합니다.
현지 환경direnv 등에서 사용하는 것이 좋다.
개별 항목에 각각 다음과 같은 내용을 설정함으로써 공통의Fastfile을 활용할 수 있다.
export CRASHLYTICS_API_TOKEN=""
export CRASHLYTICS_BUILD_SECRET=""
export SLACK_URL="https://hooks.slack.com/..."
export CRASHLYTICS_GROUPS="classi"
export XCOV_WORKSPACE="classi.xcworkspace"
export XCOV_SCHEME="ClassiTests"
export XCOV_EXCLUDE_TARGETS="GoogleToolboxForMac.framework,Rswift.framework"
export BETA_MATCH_TYPE="development"
export SLACK_CHANNEL="classi_app"
export RELEASE_GYM_SCHEME="Production"
export XCODEPROJ="classi.xcodeproj"
export GITHUB_REPOSITORY="classi/fastlane-example"

견본


classi/fastlane-example: fastlane example by Classi Corp.
상기 창고에fastlane 관련 문건이 공개되었으니 참고

좋은 웹페이지 즐겨찾기