react native로 개발한 앱을 번거로운 심사과정 없이 바로 업데이트 할 수 있도록 해주는 서비스
공식문서 : CodePush는 React Native 개발자가 모바일 앱 업데이트를 사용자의 디바이스에 직접 배포할 수 있도록 하는 App Center 클라우드 서비스입니다. 개발자가 특정 업데이트(예: JS, HTML, CSS 및 이미지 변경 내용)를 게시할 수 있는 중앙 리포지토리 역할을 하며 앱은 제공된 클라이언트 SDK를 사용하여 업데이트를 쿼리할 수 있습니다. 이렇게 하면 버그를 해결하거나, 이진 파일을 다시 빌드할 필요가 없는 작은 기능을 추가하거나, 공용 앱 스토어를 통해 재배포하는 동안 최종 사용자와 보다 결정적이고 직접적인 참여 모델을 만들 수 있습니다. App Center에서 만든 모든 React Native 앱은 기본적으로 CodePush를 사용하도록 설정되어 있습니다.
(네이티브 코드라는 막으로 감싸져있는 내부의 코드 번들을 원격 저장소에 업로드 해두고, 로컬 디바이스의 앱 번들과 비교해 차이가 있으면 다시 다운로드 받아 업데이트 하는 형태)
💡참고
CodePush API 사용량에는 초당 70개의 요청이 적용되는 속도 제한이 있습니다. 요청된 엔드포인트, IP 요청의 원본, 배포 키 및 클라이언트 고유 ID의 조합별로 계산됩니다. 제한에 도달하면 상태 코드 429가 있는 응답이 반환됩니다.
App Center CLI를 사용하여 CodePush의 대부분의 기능을 관리합니다. CLI를 설치하려면 터미널 창 또는 명령 프롬프트를 열고 다음 명령을 실행합니다.
shell복사
npm install -g appcenter-cli
App Center CLI를 성공적으로 설치한 후 명령을 실행 appcenter login
하여 App Center 계정 세부 정보에 대한 CLI를 구성합니다.
💡참고
이 명령을 실행하는 동안 EACCES
오류가 발생하면 시스템에 대한 npm 권한을 수정해야 할 수 있습니다. 많은 사이트에서 이 오류를 해결하려면 명령을 사용하는 sudo
것이 좋지만 , 을 사용하여 sudo
npm 모듈을 설치해서는 안 됩니다.
앱에 CodePush 클라이언트 SDK를 추가하고 App Center의 배포 중 하나에서 앱 업데이트를 끌어오도록 구성합니다.
자세한 설명은 공식문서 참고 ( React Native )
앱의 코드 또는 자산을 변경한 후 다음 섹션에 설명된 대로 App Center CLI를 사용하여 App Center에 업데이트를 게시합니다.
App Center CLI release-react
명령을 실행하여 앱의 코드 및 자산 파일을 번들로 묶은 다음, App Center 서버에 새 릴리스로 게시합니다. 예를 들면 다음과 같습니다.
appcenter codepush release-react -a <ownerName>/MyApp
이러한 단계가 완료되면 앱을 실행하는 모든 사용자는 2단계에서 구성한 환경을 사용하여 업데이트를 받게 됩니다. 더 자세한 내용은 CLI 및 클라이언트 SDK 설명서(React Native) 참고.
참고
https://docs.microsoft.com/ko-kr/appcenter/distribution/codepush/
https://dev.to/eatnug/codepush-react-native-4g84
https://eatnug.github.io/mobile/react-native-codepush/
https://velog.io/@minwoo129/React-Native에서-CodePush-사용하기