젠킨스로 빌드, 구글 플레이 콘솔 업로드 연동하기
젠킨스에서 안드로이드 앱을 빌드하고, 빌드 결과물(apk, aab)을 젠킨스 플러그인을 통해서 바로 구글 플레이 콘솔(Google Play Console)의 내부 테스트 트랙(Internal Test Track), 알파 트랙(Alpha Track), 베타 트랙(Beta Track), 출시 트랙 등에 자동으로 업로드 할 수 있다. 아래 Google Play Android Publisher 플러그인을 사용하면 된다.
https://plugins.jenkins.io/google-play-android-publisher/
Google Play Android Publisher
Enables Jenkins to manage and upload Android app files (AAB or APK) to Google Play.
plugins.jenkins.io
먼저 젠킨스에서 이 플러그인을 설치하자. 그 다음 플러그인 설명 사이트에 사용방법이 자세히 나와있기 때문에 차근 차근 따라가면 충분히 업로드 연동을 설정할 수 있다.
이 글에서는 스크린샷 위주로 설명을 부연하려고 한다.
Google Play Credentials 세팅
구글 플레이 콘솔에 앱을 자동으로 업로드 하려면 먼저 업로드 하려는 주체가 신뢰할만한 대상인가를 증명해야 한다. 다음과 같은 방법으로 설정할 수 있다.
- Google Play Console 에서 좌측 API 엑세스 클릭 -> 새 서비스 계정 만들기
- 화면에 나타난 모달창에서 Google Cloud Platform 링크를 클릭하여 이동
- 상단의 서비스 계정 만들기 클릭
- 적절한 서비스 계정 이름 입력하고 가입 완료 및 계속 클릭
- 2번째 옵션에서 권한은 서비스 계정 사용자로 선택 (또는 업로드가 가능한 권한으로 설정. 예를 들어 소유자 역할)
- 완료 클릭 후 서비스 계정이 생성되었는지 확인, 해당 서비스 계정 클릭
- 키 탭에서 새 키 추가 클릭
- JSON 형식의 키를 선택하고 다운로드
- 다시 구글 플레이 콘솔로 이동, 모달 창에서 완료를 클릭하고 새로 추가한 서비스 계정이 나타나는지 확인, 오른쪽 엑세스 권한 부여 클릭
- 우하단 사용자 초대 클릭
Jenkins 빌드 후 조치 추가
Credential 설정이 완료된 이후에는 이제 실제로 젠킨스에서 구글 플레이 콘솔에 업로드하도록 연동하는 작업이 남아있다.
- 젠킨스의 프로젝트 설정에서 빌드 후 조치 추가(Upload Android AAB/APKs to Google Play)
- Google Play Account 에서 Add 버튼 클릭
- 방금전 추가한 사용자 계정에 대한 정보 입력 및 json 비공개키 업로드
- Credential 정보 추가, ? 버튼 활용하면서 다음 내용 입력
주의할 점은 이미 구글 플레이 콘솔에 한번 업로드 된 앱만 젠킨스 플러그인을 통해서 업로드 연동을 할 수 있다는 것이다. 아직 구글 플레이 콘솔을 통해 내부 테스트 트랙이나, 출시 트랙에 업로드 되지 않은 앱은 이 과정을 통해서 앱을 업로드할 수 없으니 먼저 업로드 작업을 하자.
- Release track 을 internal-app-sharing 으로 설정한 경우, 빌드가 정상적으로 이루어지면 젠킨스 빌드의 console output에서 앱 다운로드 링크가 나타난다. 이 링크를 통해 내부 앱 공유에 업로드된 앱을 다운로드 할 수 있다.