dSYM 업로드는 Bitrise/fastlane으로 자동화하는 것이 좋습니다.

TL;DR


  • dSYM을 취득하고 업로드하는 lane 작성
  • Bitrise에서 Workflow 만들기
  • Workflow 스케줄링

  • 사전 쓰기



    Crashlytics를 사용하면 Fabric에 dSYM을 업로드하라는 메시지가 표시됩니다.
    이것을 AppStoreConnect에 릴리스 할 때마다 수동으로 수행해도 좋지만, 상승 누출이 일어나거나, 귀찮게 하거나, 귀찮게 하거나, 귀찮게 하거나 합니다.
    그러므로 매일 dSYM을 업로드하도록 Bitrise에서 스케줄링하여 번거 로움을 풀 수 있습니다.

    Fastfile에 dSYM 관련 처리를 하는 lane 작성



    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으로, 상황에 맞추어 잘 삭제해 주는 매우 현명한 녀석입니다.
    자세한 내용은 공식 문서를 참조하십시오.
  • download_dsyms
  • upload_symbols_to_crashlytics
  • clean_build_artifacts

  • Bitrise에서 Workflow 설정



    Workflow는 매우 간단합니다.
    저장소를 Clone하고 fastlane에서 refresh_dsyms를 시작하기 만하면됩니다.


    Workflow를 스케줄링하자.


    Builds 탭의 화면 오른쪽 상단에 Start/Schedule a Build라는 버튼이 있으므로 거기에서 스케줄링을 설정합니다.

    위와 같은 화면에서 설정할 수 있습니다.
  • 시간
  • 요일
  • 브랜치
  • Workflow
    를 설정하면 자동으로 Workflow를 시작할 수 있습니다.
    위의 예는 毎日AM01:00로 시작합니다.

  • 이제 매일 AppStoreConnect의 최신 dSYM을 가져 와서 Crashlytics에 업로드를 자동으로 수행 할 수 있습니다.

    요약



    어떻습니까?
    수수한 내용이었지만, 매번 수작업으로 하면 의외로 귀찮게 하거나 누설이 있거나, 사람이 해야 하는 작업도 아니기 때문에, 이런 종류의 것은 자동화해 버리는 것에 한합니다.

    간단하게 설정할 수 있는 것에 대해, 매일 Slack에 dSYM이 업로드된 통지가 오기 때문에 「응, 오늘도 dSYM 업로드 고생」이라고 하는 기분이 될 수 있습니다 웃음
    코스파 좋고 꽤 추천이므로, 설정하지 않은 분은 꼭 해보세요!

    좋은 웹페이지 즐겨찾기