개발, 코딩/웹사이트, 앱 개발

React-native Code push (리액트 네이티브 코드푸시) 관련 명령어

우주관리자 2024. 1. 17.

 

개인 참고를 위한 Code push 관련 명령어 정리

안드로이드와 iOS 앱을 스토어에 등록 후, 자잘한 수정을 위해 전체 업데이트를 하는 경우 심사 기간이 소요됩니다.

저의 경우에는 수정 내용과 전혀 무관한 제목이나 스토어 등록 정보 등을 이유로 (이미 출시되어있는 기존 내용과 변경 사항 없음) 심사가 거부되기도 합니다.

 

그런데 최근 앱들을 보면 스토어에서 업데이트를 하지 않아도 앱 실행 시 가끔 자체적으로 업데이트를 진행하는 화면이 보일 때가 있습니다.

어떤 기능인가 알아보니 코드푸시라는 것이었고 그 내용을 ChatGPT에게 물어보니 다음과 같은 답변을 얻을 수 있었습니다.

 

CodePush는 React Native와 같은 모바일 애플리케이션 개발 플랫폼에서 사용되는 기능입니다. 이 기능의 주 목적은 개발자가 애플리케이션의 업데이트를 사용자의 장치로 직접 "푸시"할 수 있게 하는 것입니다. 이는 일반적으로 앱 스토어를 통한 전통적인 업데이트 프로세스보다 훨씬 빠르고 간편합니다.

주요 특징은 다음과 같습니다:

1. 즉각적인 업데이트: 개발자는 버그 수정이나 작은 기능 개선을 실시간으로 사용자에게 배포할 수 있습니다. 이는 사용자가 앱 스토어를 통해 업데이트를 수동으로 다운로드하고 설치할 필요가 없음을 의미합니다.

2. 롤백 기능: 만약 새로운 업데이트에 문제가 발생하면, CodePush를 사용하여 이전 버전으로 쉽게 롤백할 수 있습니다.

3. 테스트와 스테이징: 개발자는 다양한 테스트 또는 스테이징 환경에서 업데이트를 배포하여, 최종적으로 모든 사용자에게 롤아웃하기 전에 업데이트를 테스트할 수 있습니다.

4. 사용자 정의 업데이트 규칙: 개발자는 업데이트를 받을 사용자를 대상으로 하는 조건을 설정할 수 있습니다. 예를 들어, 특정 버전의 앱이나 특정 기기를 사용하는 사용자만 업데이트를 받도록 설정할 수 있습니다.

CodePush는 앱의 사용성을 향상시키고, 사용자에게 더 나은 경험을 제공하기 위해 중요한 도구로 활용됩니다.

 

관련 문서를 검색한 뒤 기존 코드를 코드푸시 문법으로 한번 감싸주는 것으로 완료가 되었습니다.

그래도 최소한의 환경 구성은 필요하므로 검색을 통해 알아보는 것이 좋겠습니다.

 

이 포스팅에서는 순수하게 제가 계속 참고할 목적으로, 자주 사용되는 코드푸시 키 값 확인 및 릴리스 명령어를 기록해놓으려고 합니다.

 

개인 참고용이므로 명령어에 사용된 프로젝트 이름 등은 변경이 필요합니다.

Appcenter 설치

npm install -g appcenter-cli
appcenter login

npm install appcenter appcenter-analytics appcenter-crashes --save-exact

코드푸시 키 값 확인

appcenter codepush deployment list --app <ownerName>/<appName> -k
appcenter codepush deployment list --app idisrock/famousface_android -k
appcenter codepush deployment list --app idisrock/famousface_ios -k

코드푸시 릴리스

appcenter codepush release-react -a <ownerName>/<appName>

appcenter codepush release-react -a <ownerName>/MyApp-iOS
appcenter codepush release-react -a <ownerName>/MyApp-Android

appcenter codepush release-react -a idisrock/pastface_android
appcenter codepush release-react -a idisrock/irisGPT_android
appcenter codepush release-react -a idisrock/famousface_android

appcenter codepush release-react -a idisrock/pastface_ios
appcenter codepush release-react -a idisrock/famousface_ios

 

코드푸시 테스트 관련

npx react-native run-android --variant=release

npx react-native run-android --variant=releaseStaging

npx react-native run-ios를 사용할 때, 디폴트로는 Debug 모드로 앱을 빌드하게 됩니다. 만약 Release나 Staging와 같은 다른 구성으로 빌드하려면, --configuration 플래그를 사용하면 됩니다.

예를 들어, Release 모드로 빌드하려면:

npx react-native run-ios --configuration Release

만약 Staging이라는 구성이 프로젝트에 설정되어 있다면:

npx react-native run-ios --configuration Staging

이렇게 해서 원하는 구성으로 빌드할 수 있습니다.

그런데, Staging과 같은 추가적인 구성을 사용하려면 Xcode 내에서 해당 구성을 먼저 설정해야 합니다. 기본적으로 React Native 프로젝트는 Debug와 Release 두 가지 구성만을 포함하고 있습니다. 추가 구성을 생성하려면 Xcode의 프로젝트 설정에서 직접 해야 합니다.

 

반응형