iOS 캠프 TIL - 2021.04.29 목

Updated:

강의 - 배포

  • 스토어에 내놓은 것 뿐만이 아니라 그 과정도 배포에 포함

CI: 지속적 통합

  • 범위: 빌드 및 테스트 자동화
  • 전제조건: 테스트가 가능해야 함
  • 순서
    1. 개발자는 소스코드를 VCS에 저장
    2. 코드상에 변동이 새길 시 , VCS에서는 Jenkins같은 CI툴에 코드 변경을 알림
    3. CI툴에서는 변경딘 코드를 대상으로 Build, Test, Merge 진행. 이 과정이 완료되면 슬렉, 메일 등을 통해 결과를 알림

CD(Continuous Deploy or Delivery): 지속적 배포

  • 소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 지속적으로 관리
  • CD가 되기 위해서는 항상 CI가 선행되어야 함
  • CD는 웹분야에서 특히 좋음. 즉시 배포 가능하기 때문에
  • 장점
    • 소스 커밋에서 릴리즈까지 모든 작업을 자동으로 수행 가능
  • CI/CD 솔루션
    • Travis, Jenkins, Github Action(따로 CI서버 구축 필요없음)

Testflight

  • 클로즈퍼블릭 베타 테스트를 위한 환경 제공
  • App Store Connect에서 테스터 초대 가능
  • 앱 업로드 후 테스터에게 자동 배포
  • 테스트 앱은 업로드 날짜 기준 90일까지 이용 가능
    • 최대 1만명 까지 테스터 등록 가능
    • 90일 제한을 피하기 위한 꼼수: 업데이트 하면…

Crashlytics

  • Firebase의 일부 기능 (구글에서 인수)
  • 사용자의 행위 추적
    • 앱 사용 시간, 머무르는 화면 시간, 터치 이벤트 등 인터렉션 로깅
  • 비정상 종료(크래시)로그 자동 수집
    • 애플의 App store Connect에서도 기본 제공
    • dSYM을 활용하여 덤프 분석을 통해 크래시 이유 분석 가능
      • dSYM은 잘 보관/관리 해야 함
  • 다른 분석툴도 많았지만 거의 유일하게 살아남음
    • 현업 앱 대부분에서 사용중

Leave a comment