Firebase Crashlytics v8 이후 iOS·Android 심볼 업로드 방식 변경
Firebase Crashlytics v8.x.x부터 디버그 심볼 업로드가 필요 없던 Android는 업로드가 필요해지고, iOS는 필요 없어졌다(Crashlytics Unity 시작 가이드).
iOS: 빌드 스크립트 제거
섹션 제목: “iOS: 빌드 스크립트 제거”iOS Jenkins job에서 dSYM을 업로드하고 백업하던 스크립트는 더 이상 쓰지 않는다.
if [ ${UPLOAD_SYMBOLS_NOW} = 'true' ]; thenecho "symbols file upload now!"${WORKSPACE}/XcodeProject/Pods/FirebaseCrashlytics/upload-symbols -gsp ${WORKSPACE}/XcodeProject/GoogleService-Info.plist -p ios ${WORKSPACE}/XcodeProject/build/${UPLOADFILENAME}-dSYM.zipfi
if [ ${BACKUP_SYMBOLS} = 'true' ]; thenecho "backup dSYM!"cp ${WORKSPACE}/XcodeProject/build/${UPLOADFILENAME}-dSYM.zip <BACKUP_DIR>/ios_dSYM/fiAndroid: 빌드 스크립트 추가
섹션 제목: “Android: 빌드 스크립트 추가”가이드의 명령 형식은 다음과 같다.
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLSFIREBASE_APP_ID: Firebase 콘솔의 Android 앱 IDPATH/TO/SYMBOLS:${WORKSPACE}/${UPLOADFILENAME}-dSYM.zip
Android Jenkins job에 아래 명령을 추가했고, 업로드가 성공하는 것을 확인했다.
firebase crashlytics:symbols:upload --app=<FIREBASE_APP_ID> ${WORKSPACE}/${UPLOADFILENAME}-dSYM.zip문제: firebase 명령을 찾지 못함
섹션 제목: “문제: firebase 명령을 찾지 못함” line 57: firebase: command not found해결 방법은 두 가지다.
// SOLUTION 1npm install -g firebasealias firebase="`npm config get prefix`/bin/firebase"또는 Jenkins 설정에서 PATH에 /usr/bin이 등록되어 있는지 확인한다.