Community코딩 & 개발github.com

PollyGlot/google-play-cli

gplay: CI나 코딩 에이전트에서 Google Play에 게시합니다. 단일 정적 바이너리, Play Developer API를 그대로 반영하는 JSON 출력, 의미 있는 종료 코드. Fastlane supply를 대체합니다.

google-play-cli란 무엇인가요?

이 스킬은 CI/CD 파이프라인 또는 코딩 에이전트(예: Claude Code, Cursor)에서 Google Play Console에 앱을 게시할 수 있는 CLI 도구인 google-play-cli를 사용하는 방법을 설명합니다. 단일 정적 바이너리로 제공되며, Play Developer API의 응답을 그대로 JSON으로 출력하여 기존 Fastlane supply보다 더 예측 가능하고 디버깅하기 쉽습니다. 또한 의미 있는 종료 코드(semantic exit codes)를 제공하여 CI 환경에서 오류 처리를 간단하게 만듭니다. JSON 출력은 jq와 같은 도구로 파싱하기 쉬워 자동화 스크립트에 이상적이며, Google Play 게시 프로세스를 간소화하고자 하는 모든 개발자에게 유용합니다. 이 스킬은 설정, 인증, APK/AAB 업로드, 릴리스 관리 등의 작업을 다룹니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add PollyGlot/google-play-cli

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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에 추가하세요.

설정

  1. Google Cloud Console에서 서비스 계정을 생성하고 JSON 키를 다운로드합니다.
  2. GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 키 파일 경로로 설정합니다:
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
    
  3. 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서비스 계정 인증 확인
uploadAPK 또는 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의 앱과 일치하는지 확인하세요.

참고 자료

관련 스킬