Code Push란

코드푸시는 배포없이 앱을 업데이트하는 방식이다.

코드푸시가 적용되지 않은 기존 앱에서는 간단한 로직 수정이나 문구수정을 해야 할 경우 다음 버전업할때로 업데이트를 미루거나(정말 미미한 문제의 경우) 어쩔수 없이 마이너 버전을 올리면서 재배포를 했기때문에 위와 같은 상황에서 효율이 극악이었다고 본다.

코드푸시 도입 이후 좋아질 점은 마이너한 문제 발생시 빠르게 고칠수 있고, 재배포를 통해 심사결과를 기다리지 않아도 된다는 점이 좋은 점이다.(testflight의 경우 요즘은 예전보다 빠르게 올라가지만, 정식 버전으로 출시하는 상황에서는 길면 몇일이 소요된다.)

물론 그렇다고 코드푸시가 만능인건 아니다. 자바스크립트 내부에서 수정한 내용들은 빠른 업데이트가 가능하지만, 네이티브 코드를 직접 건드리거나 파일이 추가되는 상황에서는 코드푸시로는 할 수 없고 버전업 배포를 통해서만 가능하다.

동작방식은 평소에 우리가 사용하는 git을 생각하면 된다. 내가 작업을 하고 원격 git서버에 푸시를 날리면 다른 사람들이 풀로 끌어와서 내가 작업한 코드를 내려받을 수 있는 방식인랑 비슷하다. 내가 수정한 코드를 배포명령을 통해 앱을 bundle파일로 변환하고 이를 codepush서버에 저장시킨다. 이후 사용자가 앱을 실행시키면 codepush 서버에서 업데이트의 유무를 판단하고 업데이트 사항이 있으면 그에 따른 상태를 내려주어서 업데이트를 시키는 방식이다. 현재는 강제 업데이트로 코드를 작성했고, 추후 선택적 업데이트 기능도 넣어야 한다면 추가해 주려고 한다.

Code Push 설치 및 구현

  1. App Center CLI설치 (설치하는데 좀 오래걸림)
~~$ yarn global add appcenter-cli yarn안됨~~
또는
$ npm install -g appcenter-cli
  1. appcenter login (App Center계정 세부정보에 대한 CLI 구성)
$ appcenter login
  1. 터미널에 위 코드 입력시 appcenter 홈페이지가 열림

Untitled (4).png

Untitled (5).png

Untitled (6).png

로그인 진행을 하면 Access code를 제공해준다. 복붙해서 터미널 창에서 요구했던 Access code from browser에 넣어주면 된다.(계정을 바꾸거나 하면 로그인 할때마다 새로운 토큰값을 계속 제공해주니 따로 저장 할 필요는 없다.)