[React-Native] CodePush 사용하기

DaYoung·2024년 2월 6일
0

React-Native

목록 보기
18/35

codepush란?

  • Microsoft에서 스토어 심사 없이 실시간으로 앱을 업데이트 할 수 있는 라이브러리이다.
  • CodePush는 특정 업데이트 (ex. JS, HTML, CSS 및 ssets(이미지, 폰트 등))의 경우 심사없이 업데이트 할 수 있다.
  • staging과 production을 어떻게 운영할 것인지는 개발자 마음이겠지만
    보통 staging은 dev환경, Production은 live 환경으로 나눈다.
    개발단계에서는 staging 릴리즈로 테스트하고, 문제가 없을 경우 Production으로 옮겨서 배포한다.

<회사 프로젝트>
원래는 팝업이 뜨면서 yes or no를 선택해야 하는데
지금하고 있는 프로젝트에서는 팝업이 뜨지 않고 무조건 yes임!
그래서 코드 푸쉬를 하게되면 스플래시 뒤에 팝업이 숨겨져서
선택하는거 없이 무조건 yes로 강제 업데이트 되게 되어있음!

AppCenter 계정생성

Android, IOS 모두를 지원하는 앱이라면, 각각의 플랫폼에 맞는 두 개의 앱 프로젝트를 생성해야 한다.

*앱이름
만약 coupang라는 앱이 있다면 Android와 IOS 두개의 코드푸시를 만들텐데
coupang-ios, coupang-aos 요런식으로 뒤에 os를 달아주는 것이 좋다!

*type(optional)
-Release Type 종류

Alpha: 개발 초기 단계 / 앱의 초기 버전으로, 주요한 버그 및 문제가 존재할 수 있다.
Beta: 알파 단계 이후에 나오며, 더 많은 테스터 그룹에게 공개 /
아직 완전히 안정화되지 않았지만, 알파보다는 더 신뢰성이 높아짐
Enterprise: 일반적으로 기업 내부 사용을 목적으로 하는 앱 배포에 사용 /
앱이 특정 기업이나 조직 내에서만 사용되고, 일반적으로 공개 앱 스토어에는 배포되지 않음
Production: 안정적이고 신뢰성 있는 버전 / 일반 사용자들에게 배포 /
공식적으로 출시되어 일반 사용자가 해당 앱을 다운로드하고 사용할 수 있음
Store: 앱스토어를 통해 배포되는 릴리즈 /
일반 사용자들이 앱 스토어를 통해 해당 앱을 검색하고 다운로드할 수 있음

AppCenter key 생성

Distribute -> CodePush
Create standard deployments 버튼을 눌러 Staging, Production 키값 발급!

터미널, 앱센터에서 등록하는 방법이 있지만 나는 AppCenter로 등록하였다.

react-native-codepush 패키지 설치

yarn add react-native-code-push
cd ios && pod install

AppCenter 로그인

appcenter login 

명령어를 입력하면
브라우저에 코드푸시 페이지에 토큰값이 뜨고 이 값을 터미널에 입력해준다.

IOS, Android 설정

AppCenter
1. overview
2. appcenter -> distribute -> code push
가이드에 나와있는대로 순서대로 따라한다!

microsoft
3.
https://learn.microsoft.com/en-us/appcenter/distribution/codepush/rn-get-started
문서에 나와있는 방법대로 쭉 진행한다.

빌드 및 배포

IOS
appcenter codepush release-react -a note-gmail.com/wellIt-ios -m --description red --mandatory

AOS
appcenter codepush release-react -a note-gmail.com/wellIt-aos -m --description red --mandatory

배포 확인

AppCenter -> Distribute > CodePush
지금까지 CodePush로 배포가 이뤄진 버전들을 여기서 확인할

CodePush로 업데이트할 때는 자바스크립트 파일 내부에서 수정한 내용들만 업로드할 수 있고,
만약 자바스크립트 파일을 중간에 새로 추가하거나 삭제한 경우 CodePush로 올라갈 수 없기 때문에
이 경우 각 스토어의 심사를 통해 업데이트 해야 한다.

주의점

Production 타입으로 코드푸시 명령어를 입력했으면 release타입으로 빌드하면 되지만, Staging 타입으로 코드푸시 명령어를 입력했다면 Staging 스키마타입으로 빌드해야 한다.

android
ios: ios/프로젝트명.xcworkspace 파일을 xcode로 열고 맨상단 Product > Scheme > Choose Scheme > Edit Scheme > Build configuration 옵션에서
Release → Production 타입 코드푸시 적용, Staging → Staging 타입 코드푸시 적용


<참고>
https://velog.io/@minwoo129/React-Native%EC%97%90%EC%84%9C-CodePush-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

https://medium.com/@ritika100898/implementing-codepush-for-over-the-air-updates-in-react-native-535e750ec308

profile
안녕하세요. 프론트앤드 개발자 홍다영입니다.

0개의 댓글