dSYM 업로드는 Bitrise/fastlane으로 자동화하는 것이 좋습니다.
3896 단어 iOS시fastlaneBitriseCrashlytics
TL;DR
사전 쓰기
Crashlytics를 사용하면 Fabric에 dSYM을 업로드하라는 메시지가 표시됩니다.
이것을 AppStoreConnect에 릴리스 할 때마다 수동으로 수행해도 좋지만, 상승 누출이 일어나거나, 귀찮게 하거나, 귀찮게 하거나, 귀찮게 하거나 합니다.
그러므로 매일 dSYM을 업로드하도록 Bitrise에서 스케줄링하여 번거 로움을 풀 수 있습니다.
Fastfile에 dSYM 관련 처리를 하는 lane 작성
Fastfiledesc "Refresh dSYMs"
lane :refresh_dsyms do
download_dsyms(
app_identifier: "tihimsm.my_app",
version: "latest" # 最新のdSYMを取得するように指定
)
upload_symbols_to_crashlytics # dSYMをCrashlyticsへアップロード
clean_build_artifacts # ローカルのdSYMを削除
slack(message: "dSYMs are refreshed!")
end
download_dsyms
에서 AppStoreConnect에서 dSYM을 다운로드하지만 선택적으로 version: "latest"
를 지정합니다.
아무 것도 지정하지 않으면 모든 dSYM을 가져 와서 상당한 시간이 걸리므로 중요합니다.
나중에 Bitrise 쪽에서 스케줄링을 합니다만, 매일 이 lane이 달리게 해 두면, 별로 릴리스의 빈도가 높지 않는 한은 누설 없이 업로드 할 수 있을 것입니다.
추가 (2019/12/02)
download_dsyms의 version에 "live"를 지정하면,
게시 중인 앱의 DSYM을 Store에서 다운로드할 수 있게 된 것 같습니다.
공개 버전보다 새로운 앱이 Test Flight에 존재하더라도 DSYM은 무시해줍니다.
(fastlane 2.134.0 이상)
@zigenin 씨가 정보를 제공해 주셔서 감사합니다!
clean_build_artifacts
는 로컬에있는 dSYM 파일을 삭제해주는 것으로, Bitrise로 lane을 달리게하는 한은 그다지 의미가 없지만, 로컬에서 lane 두드릴 가능성도 생각해 삭제하도록 하고 있습니다.
덧붙여서, 이번은 dSYM을 삭제해 준다 clean_build_artifacts
하지만 실은 매우 범용성이 높은 action으로, 상황에 맞추어 잘 삭제해 주는 매우 현명한 녀석입니다.
자세한 내용은 공식 문서를 참조하십시오.
Fastfile
desc "Refresh dSYMs"
lane :refresh_dsyms do
download_dsyms(
app_identifier: "tihimsm.my_app",
version: "latest" # 最新のdSYMを取得するように指定
)
upload_symbols_to_crashlytics # dSYMをCrashlyticsへアップロード
clean_build_artifacts # ローカルのdSYMを削除
slack(message: "dSYMs are refreshed!")
end
download_dsyms
에서 AppStoreConnect에서 dSYM을 다운로드하지만 선택적으로 version: "latest"
를 지정합니다.아무 것도 지정하지 않으면 모든 dSYM을 가져 와서 상당한 시간이 걸리므로 중요합니다.
나중에 Bitrise 쪽에서 스케줄링을 합니다만, 매일 이 lane이 달리게 해 두면, 별로 릴리스의 빈도가 높지 않는 한은 누설 없이 업로드 할 수 있을 것입니다.
추가 (2019/12/02)
download_dsyms의 version에 "live"를 지정하면,
게시 중인 앱의 DSYM을 Store에서 다운로드할 수 있게 된 것 같습니다.
공개 버전보다 새로운 앱이 Test Flight에 존재하더라도 DSYM은 무시해줍니다.
(fastlane 2.134.0 이상)
@zigenin 씨가 정보를 제공해 주셔서 감사합니다!
clean_build_artifacts
는 로컬에있는 dSYM 파일을 삭제해주는 것으로, Bitrise로 lane을 달리게하는 한은 그다지 의미가 없지만, 로컬에서 lane 두드릴 가능성도 생각해 삭제하도록 하고 있습니다.덧붙여서, 이번은 dSYM을 삭제해 준다
clean_build_artifacts
하지만 실은 매우 범용성이 높은 action으로, 상황에 맞추어 잘 삭제해 주는 매우 현명한 녀석입니다.자세한 내용은 공식 문서를 참조하십시오.
Bitrise에서 Workflow 설정
Workflow는 매우 간단합니다.
저장소를 Clone하고 fastlane에서 refresh_dsyms
를 시작하기 만하면됩니다.
Workflow를 스케줄링하자.
Builds
탭의 화면 오른쪽 상단에 Start/Schedule a Build
라는 버튼이 있으므로 거기에서 스케줄링을 설정합니다.
위와 같은 화면에서 설정할 수 있습니다.
Builds
탭의 화면 오른쪽 상단에 Start/Schedule a Build
라는 버튼이 있으므로 거기에서 스케줄링을 설정합니다.위와 같은 화면에서 설정할 수 있습니다.
를 설정하면 자동으로 Workflow를 시작할 수 있습니다.
위의 예는
毎日AM01:00
로 시작합니다. 이제 매일 AppStoreConnect의 최신 dSYM을 가져 와서 Crashlytics에 업로드를 자동으로 수행 할 수 있습니다.
요약
어떻습니까?
수수한 내용이었지만, 매번 수작업으로 하면 의외로 귀찮게 하거나 누설이 있거나, 사람이 해야 하는 작업도 아니기 때문에, 이런 종류의 것은 자동화해 버리는 것에 한합니다.
간단하게 설정할 수 있는 것에 대해, 매일 Slack에 dSYM이 업로드된 통지가 오기 때문에 「응, 오늘도 dSYM 업로드 고생」이라고 하는 기분이 될 수 있습니다 웃음
코스파 좋고 꽤 추천이므로, 설정하지 않은 분은 꼭 해보세요!
Reference
이 문제에 관하여(dSYM 업로드는 Bitrise/fastlane으로 자동화하는 것이 좋습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tihimsm/items/0a8c4a104e4470567e89
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(dSYM 업로드는 Bitrise/fastlane으로 자동화하는 것이 좋습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tihimsm/items/0a8c4a104e4470567e89텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)