google-play-cli은(는) 무엇을 하나요?
gplay: CI 또는 코딩 에이전트에서 Google Play에 게시합니다. 하나의 정적 바이너리, Play Developer API를 그대로 반영하는 JSON 출력, 의미 있는 종료 코드를 제공합니다. Fastlane supply를 대체합니다.
개요
google-play-cli는 Google Play Console에 앱을 게시하기 위한 강력하고 독립적인 CLI 도구입니다. 주요 기능은 다음과 같습니다:
- 단일 정적 바이너리: Go로 작성되어 별도의 런타임이나 종속성이 필요하지 않습니다.
- JSON 출력: 모든 API 응답은 Play Developer API와 동일한 구조의 JSON으로 출력되어, jq 등의 도구로 쉽게 파싱할 수 있습니다.
- 의미 있는 종료 코드: 성공, 오류, 인증 실패 등 각 상황에 적합한 종료 코드를 반환합니다. (
0: 성공,1: 일반 오류,2: 인증 오류 등) - Fastlane supply 대체: 더 빠르고 예측 가능한 대안을 제공합니다.
사전 요구 사항
- Google Play Console 개발자 계정
- Google Cloud 프로젝트 (Play Developer API가 활성화된 상태)
- 서비스 계정 키 (JSON 형식)
설치
macOS (Homebrew)
brew install pollyglot/tap/google-play-cli
Linux / macOS (수동 설치)
릴리스 페이지에서 최신 바이너리를 다운로드하세요:
# 예시 (실제 URL은 릴리스 페이지 참조)
curl -LO https://github.com/PollyGlot/google-play-cli/releases/latest/download/gplay-linux-amd64.tar.gz
tar -xzf gplay-linux-amd64.tar.gz
sudo mv gplay /usr/local/bin/
Windows
릴리스 페이지에서 .exe 파일을 다운로드하여 PATH에 추가하세요.
설정
- Google Cloud Console에서 서비스 계정을 생성하고 JSON 키를 다운로드합니다.
GOOGLE_APPLICATION_CREDENTIALS환경 변수를 키 파일 경로로 설정합니다:export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"- Google Play Console에서 서비스 계정을 초대하고 적절한 권한을 부여합니다.
사용법
인증 확인
gplay auth test
앱 버전 업로드
gplay upload --package-name com.example.app --aab ./app-release.aab
릴리스 생성
gplay release create \
--package-name com.example.app \
--track production \
--version-code 42 \
--release-notes "- 버그 수정 및 성능 개선"
모든 명령어 보기
gplay --help
CI/CD 통합
GitHub Actions 예시
- name: Google Play에 게시
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT }}
run: |
gplay upload --package-name com.example.app --aab ./app-release.aab
gplay release promote --package-name com.example.app --from-track internal --to-track production
GitLab CI 예시
deploy:
stage: deploy
script:
- gplay upload --package-name com.example.app --aab ./app-release.aab
- gplay release create --package-name com.example.app --track alpha --version-code ${CI_PIPELINE_ID}
주요 명령어
| 명령어 | 설명 |
|---|---|
auth test | 서비스 계정 인증 확인 |
upload | APK 또는 AAB 업로드 |
release create | 새 릴리스 생성 (초안 또는 활성화) |
release list | 특정 트랙의 릴리스 나열 |
release promote | 릴리스를 한 트랙에서 다른 트랙으로 승격 |
release rollback | 릴리스 롤백 |
apk list | 패키지의 APK 나열 |
edit usage | 에디트 사용량 보기 |
환경 변수
GOOGLE_APPLICATION_CREDENTIALS: (필수) 서비스 계정 JSON 키 파일 경로GPLAY_PACKAGE_NAME: (선택) 기본 패키지 이름 설정
문제 해결
인증 오류
GOOGLE_APPLICATION_CREDENTIALS가 올바르게 설정되었는지 확인하세요.- Google Play Console에서 서비스 계정에 올바른 권한이 있는지 확인하세요.
업로드 실패
- AAB/APK 파일이 유효한지 확인하세요.
- 패키지 이름이 Google Play Console의 앱과 일치하는지 확인하세요.