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)을 만들고 멤버를 추가합니다. 역할은 워크스페이스 소유자와 관리자만 바꿀 수 있습니다.
설정 순서
강제 업데이트: 스토어 앱마다 정책을 정하고, 앱에서 버전 확인을 호출합니다.
파이프라인에 토큰 발급하기: OTA 도구의 토큰을 저장하고, 파이프라인 게이트 하나가 이를 받도록 허용합니다.
사용하는 도구의 가이드: EAS Update, CodePush, hot-updater.