New PhoneGap Build NodeJS CLI module: pgb-cli
Post

New PhoneGap Build NodeJS CLI module: pgb-cli

PhoneGap(이하 PG) 애플리케이션을 클라우드상에서 빌드 해 주는 서비스인 Adobe PhoneGap Build(이하 PGB) 라는 서비스가 있다. 이제 PGB 를 CLI 로 사용할 수 있게 되었다. 기존에는 웹 브라우저로 서비스 주소 https://build.phonegap.com/apps에 접속하여 서비스를 이용할 수 있었다. 이제는 pgb-cli라는 모듈을 설치하여(NodeJS 기반) CLI로 기존의 수작업을 자동화할 수 있는 가능성이 생겼다(단, 자동화를 위한 스크립트는 직접 작성해야겠지만).

우선 pgb-cli를 설치한다.

1
npm install -g pgb-cli

설치가 완료되면 shell 에서 pgb 라는 명령을 사용할 수 있게 된다. pgb 명령으로 PGB 서비스에 로그인을 하는 것이 가장 우선이다.

1
pgb login

PGB 서비스에서 중요한 것 두 가지는 appkey이다. app은 PGB를 수행할 애플리케이션이고 key는 애플리케이션을 Build 할 때 필요한 key 이다. 아래는 pgb ls 명령을 이용하여 app 목록을 출력한 결과이다. 기억해 두어야 할 것은 App Id이다.

1
2
3
4
5
6
7
8
9
> pgb ls

App Id   Title             Version  iOS       Android   Windows   Last Built
-------  ----------------  -------  --------  --------  --------  ----------
2385743  nav               1.0.0    SUCCESS   SUCCESS   SKIPPED   2016-12-06
2385798  ANSIM             1.0.0    SUCCESS   SUCCESS   SKIPPED   2016-12-06
2385953  ToCSA             1.0.0    SUCCESS   SUCCESS   SKIPPED   2016-12-06
2388112  agmet  1.0.1    SUCCESS   FAILED    SKIPPED   2018-05-23
2841801  IIMISS            1.0.4    SUCCESS   SUCCESS   SKIPPED   2017-10-13

아래는 pgb keys 라는 명령을 이용하여 key 목록을 출력한 결과이다. 기억해 두어야 할 것은 Key Id 이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
> gb keys

Platform: ios

Key Id  Title                       Default    Status    Last Used   Uploaded  
------  --------------------------  ---------  --------  ----------  ----------
611832  nav_distribution                       LOCKED    2017-09-14  2016-12-06
611842  ansim_distribution                     LOCKED    2016-12-06  2016-12-06
611888  tocsa2016_distribution                 LOCKED    2016-12-06  2016-12-06
612098  agmet2016_distribution                 LOCKED    2018-05-03  2016-12-07
864907  phonegapskeleton                       LOCKED    2017-09-14  2017-09-14
875456  IIMISS                                 LOCKED    2017-10-13  2017-10-11
975203  agmet.enterprise.develo...             UNLOCKED  2018-05-23  2018-05-23
975204  agmet.enterprise.distri...             UNLOCKED  NEVER       2018-05-23

Platform: android

Key Id  Title                                  Status    Last Used   Uploaded  
------  -------------------------------------  --------  ----------  ----------
275529  phonegapskeleton_dev                   LOCKED    NEVER       2017-09-14
284040  jhpark                                 LOCKED    2018-05-03  2017-11-01
284041  jhpark_app_sign                        LOCKED    2017-11-01  2017-11-01

Platform: windows

no keys
Platform: winphone

no keys

아래와 같은 방법으로 새로운 key를 등록 할 수도 있다.

1
2
3
4
pgb new-key ios \
  title=XXX \
  key=YYY.p12 \
  profile=ZZZ.mobileprovision
  • XXX: 적당한 이름을 입력한다.
  • YYY: p12 로 export 된 파일의 경로를 입력한다.
  • ZZZ: mobileprovision 파일의 경로를 입력한다.

key를 app에 등록해야 한다. PGB는 Build 작업을 수행 할 때 등록된 key를 이용한다. key를 갱신함과 동시에 Build 작업이 수행된다.

1
2
3
4
5
6
7
8
9
10
pgb update 2388112 ios-key=975203

app 2388112 updated
-------------------------
 App Id: 2388112
-------------------------
Android: FAILED             
    iOS: SUCCESS            
Windows: SKIPPED            
-------------------- 0:29

앱을 직접 Build 하는 방법은 아래의 명령으로 가능하다.

1
pgb build 2388112 ios