OTA와 강제 업데이트 개요

Mocco는 사용자 휴대폰에 도달하는 변경에도 프로덕션 배포와 같은 승인 절차를 적용합니다. 지금 쓸 수 있는 기능은 세 가지이며, 각각 따로 사용할 수 있습니다.

강제 업데이트(Force update) 는 오래된 스토어 빌드의 앱에 업데이트하라고 알립니다. 최소 지원 버전(이보다 낮은 빌드는 반드시 업데이트), 권장 버전(이보다 낮은 빌드는 닫을 수 있는 안내가 표시됨), 완전히 차단할 버전을 설정합니다. 앱은 실행할 때 Mocco에 확인합니다. 버전을 올리는 변경은 승인을 요구하도록 설정했다면 승인을 기다리고, 버전을 내리는 변경은 즉시 적용된 뒤 사후에 검토됩니다. 장애 중에 승인자를 기다리는 일이 없도록 한 것입니다. 강제 업데이트를 참고하세요.

게이트 OTA 배포는 지금 쓰는 OTA 도구(EAS Update, 호스팅 CodePush 서비스, hot-updater)를 그대로 둡니다. Mocco가 도구의 배포 토큰을 보관하고, 승인된 게이트를 통과한 파이프라인 단계에만 전달합니다. 승인 없이는 업데이트가 나갈 수 없고, 모든 릴리스는 감사 로그에 남습니다. 앱은 바꿀 필요가 없습니다. 파이프라인에 토큰 발급하기와 사용하는 도구의 가이드를 참고하세요.

호스팅 OTA 업데이트는 Mocco가 React Native 앱의 업데이트를 기본 expo-updates 클라이언트에 제공합니다. CI에서 서명하고, 비율 단위로 롤아웃하며, 승인을 거쳐 보호된 채널로 승격하고, 즉시 롤백할 수 있습니다. Mocco에서 OTA 업데이트 호스팅하기를 참고하세요. 지금 CodePush나 EAS Update를 쓴다면 Mocco 호스팅 OTA로 옮기기도 읽어 보세요.

시작하기 전에

  • 워크스페이스의 Products에서 OTA and force update를 켭니다.

  • 프로젝트를 만들고, 프로젝트의 Overview 페이지에서 iOS와 Android 앱을 추가합니다. 강제 업데이트는 스토어 앱마다 따로 적용됩니다.

  • Access에서 승인자가 가질 역할(예: mobile-release)을 만들고 멤버를 추가합니다. 역할은 워크스페이스 소유자와 관리자만 바꿀 수 있습니다.

설정 순서

  1. 강제 업데이트: 스토어 앱마다 정책을 정하고, 앱에서 버전 확인을 호출합니다.

  2. 파이프라인에 토큰 발급하기: OTA 도구의 토큰을 저장하고, 파이프라인 게이트 하나가 이를 받도록 허용합니다.

  3. 사용하는 도구의 가이드: EAS Update, CodePush, hot-updater.