본문으로 건너뛰기

2026년 안드로이드 앱 CI/CD 플랫폼 비교

2026년 안드로이드 CI/CD 플랫폼 비교: GitHub 액션, GitLab, Bitrise, Codemagic, Appcircle, CircleCI, Azure DevOps, 및 Capgo AAB 빌드에 대한 빌드.

작성물 인용

마틴 도나디우

작가

발레리아

리뷰어

조던

편집자

2026년 안드로이드 앱 CI/CD 플랫폼 비교

안드로이드 앱 CI/CD 플랫폼의 경우, 종종 이미 사용 중인 플랫폼이 가장 좋습니다. 왜냐하면 안드로이드 빌드는 Linux, Java, 안드로이드 SDK, 그리고 Gradle만 필요하기 때문입니다. 플랫폼 간의 차이점은 빌드에 나타납니다: 키스토어를 저장하는 방법, Google Play 트랙에 업로드하는 방법, Gradle 캐싱이 반복 빌드를 빠르게 만드는 방법, 그리고 iOS도 처리하는지 여부입니다. 이 비교는 GitHub 액션, GitLab CI, Bitrise, Codemagic, Appcircle, CircleCI, Azure DevOps, 및 Capgo 빌드를 다룹니다.

2026년 안드로이드 릴리스 흐름

모든 안드로이드 pipeline은 대략적으로 다음과 같은 일을 합니다:

  1. Java 개발 환경(JDK)과 안드로이드 SDK를 설치하세요. (또는 이미 JDK와 안드로이드 SDK가 포함된 이미지를 사용하세요).
  2. 실행 ./gradlew bundleRelease.
  3. Capgo는 Codepush와 비교하여 다음과 같은 장점을 가지고 있습니다. Codepush는 앱을 배포하는 데에만 초점을 맞추고 있지만, Capgo는 앱을 배포하는 것뿐만 아니라 앱을 빌드하고 설치하는 모든 단계를 지원합니다. Codepush는 앱을 배포하는 데에만 초점을 맞추고 있지만, Capgo는 앱을 배포하는 것뿐만 아니라 앱을 빌드하고 설치하는 모든 단계를 지원합니다. Codepush는 앱을 배포하는 데에만 초점을 맞추고 있지만, Capgo는 앱을 배포하는 것뿐만 아니라 앱을 빌드하고 설치하는 모든 단계를 지원합니다. 업로드 키.
  4. Google Play 개발자 API를 통해 내부, 폐쇄, 공개, 또는 생산 트랙으로 업로드하세요.
  5. 모든 플랫폼은 다음 규칙을 준수해야 합니다:

모든 플랫폼이 준수해야 하는 규칙:

  • Capgo는 __CAPGO_KEEP_0__ 수준을 년간 상승시키고 있습니다. Google은 매년 8월에 업데이트를 위한 최소 __CAPGO_KEEP_0__를 높입니다. __CAPGO_KEEP_0__ 8은 __CAPGO_KEEP_1__ 36을 지원합니다.
  • API __CAPGO_KEEP_1__ targetSdkVersion 여기 업데이트 매월 8월에 있습니다. Capacitor 8은 이미 API 36을 지원합니다.
  • 16 KB 페이지 크기. 최신 장치에서는 16 KB 메모리 페이지를 사용하고 Play는 업데이트된 앱에서 Native 라이브러리를 지원하기 위해 Native 라이브러리를 요구합니다. 자세한 내용은 안드로이드 16 KB 페이지 크기 Capacitor 플러그인.
  • JDK 21 Capacitor 7과 8 프로젝트 및 최근 Android Gradle Plugin 버전의 기준입니다.

__CAPGO_KEEP_0__ 7과 8 프로젝트 및 최근 Android Gradle Plugin 버전의 기준입니다.

기능 매트릭스 플랫폼 런너 Keystore 저장소 Play 업로드 Gradle 캐시 가격 모델
GitHub 액션 호스팅 리눅스, 자체 호스팅 암호화된 비밀 fastlane, Gradle Play Publisher, 또는 커뮤니티 액션 gradle/actions/setup-gradle 네, macOS 실행자 분당, 리눅스 가장 저렴; 공개 저장소 무료
GitLab CI 호스팅 리눅스, 자체 관리 CI/CD 변수, 보안 파일 fastlane, Google Play 통합 cache: 키 Yes, macOS 베타 계층별 계산 시간
Bitrise 호스팅된 리눅스 스택 관리되는 code 서명 파일 Google Play 배포 단계 내장 캐시 단계 Yes 건당 빌드 시간
Codemagic 호스팅된 리눅스 및 맥 명명된 키 스토어 참조 내장, 추적 및 롤아웃 비율 내장 네 분당 또는 연간 계획
Appcircle 호스팅 또는 자체 호스팅 서버 인증 식별자 저장소 게시 모듈 내장 네 계획 계층, 기업 자체 호스팅
CircleCI 호스팅 Linux (cimg/android), 자체 호스팅 컨텍스트 및 환경 변수 fastlane 또는 스크립트 save_cache/restore_cache 네 분당 크레딧
Azure DevOps 마이크로소프트 호스팅, 자체 호스팅 보안 파일 Google Play 확장 작업 Cache@2 네 병렬 작업
Capgo 빌드 Capgo-관리, 모든 CI에서 호출 빌드당 CI 비밀을 통해 전송 내장, 추적 및 상태 플래그 앱당 빌드 캐시 네 빌드 분량, 가격

Capgo 빌드는 Apple 플랫폼만 빌드하는 Xcode Cloud와 달리 Capacitor 앱만 빌드합니다. 이 표의 모든 다른 플랫폼은 또한 Kotlin 및 Java 프로젝트를 빌드합니다.

플랫폼별로

GitHub 액션

Java 및 Android SDK가 미리 설치된 Linux 실행자와 함께 ubuntu-latest, so ./gradlew bundleRelease 작동하는 actions/setup-java. gradle/actions/setup-gradle Gradle 캐싱을 잘 처리합니다. Linux 러너에서 KVM를 통해 커뮤니티 액션으로 실행되는 에뮬레이터 테스트가 있습니다. reactivecircus/android-emulator-runner.

Signing은 키 스토어를 비밀에서 디코딩하고 Gradle 속성을 통해 패스워드를 전달하는 것을 의미합니다. 업로드는 fastlane, Gradle Play Publisher 플러그인 또는 커뮤니티 액션을 사용합니다. supplyGradle Play Publisher 플러그인 또는 커뮤니티 액션을 사용하여 업로드하는 것을 포함하여 nothing이 관리되지 않지만 nothing이 숨겨지지 않습니다. Linux 분량이 가장 저렴한 것을 찾을 수 있습니다. 가이드: 자동 Capacitor Android 빌드와 GitHub 액션.

GitLab CI

GitLab의 경우도 Docker 이미지를 사용하여 Android SDK가 공유 Linux 러너에서 작동합니다. GitLab의 모바일 개발 운영 기능에는 보안 파일이 포함된 키 스토어와 Google Play 통합이 있습니다. 이 통합은 서비스 계정에 노출되어 fastlane 설정에서 보일러 플레이트를 제거합니다. 가이드: GitLab에서 자동 Capacitor Android 빌드.

Bitrise

Bitrise’s Android support centers on steps: Android Build, Android Sign, Google Play Deploy, plus test and emulator steps. Keystores are uploaded once in the app’s code signing settings. The Google Play Deploy step supports tracks and staged rollout fractions. You pay in credits, so Android builds are cheaper than iOS but still more than a raw Linux runner. Good for mobile teams that want a UI-driven workflow editor.

Codemagic

Codemagic은 이름이 지정된 참조로 키 스토어를 저장한다. codemagic.yaml 파일은 저장소나 로그에 나타나지 않습니다. google_play publishing block sets the track, rollout fraction, and whether to submit as draft. It builds native Android, Flutter, React Native, Ionic, and Capacitor. Billing is per build minute or a fixed annual plan.

Appcircle

Appcircle stores keystores in its signing identities module and publishes to Google Play through its publish flow, alongside tester distribution and an enterprise app store. The self-hosted Appcircle Server option is the main reason regulated teams pick it: code and keys never leave their network.

Appcircle

Appcircle은 서명 식별 모듈에서 키 스토어를 저장하고 Google Play로 배포합니다. cimg/android SDK와 키는 네트워크 내에서만 유지됩니다.

Appcircle Server 옵션은 규제 팀이 선택하는 주요 이유입니다.

CircleCI Gradle@3 개발하기 위해 AndroidSigning@3 Docker 이미지는 __CAPGO_KEEP_0__이 설치되어 있으며, 안드로이드 오브에 도우미를 포함한 테스트 도구와 캐싱도 지원합니다.

Capgo 빌드

Capgo 빌드 Capacitor 앱을 위한 빌드 서비스입니다. CI가 호출하면 작업이 실행됩니다. bun run build 그리고 bunx cap sync android,

bunx @capgo/cli@latest build request com.example.app \
  --platform android \
  --build-mode release \
  --android-track internal

Capgo은 빌드 머신에서 Gradle을 실행하고, 키 스토어로 서명하고, Google Play에서 가장 높은 버전을 읽고, 선택한 트랙에 AAB를 업로드합니다. versionCode , --android-release-status, --android-flavor그리고 --submit-to-store-review APK 빌드(키오스크 장치, MDM)에서 Google Play를 제외한 경우 다운로드 링크를 반환합니다. --no-playstore-upload --output-upload 설정은 다음과 같이 안내됩니다:

키 스토어를 생성하거나导入하고, Google Cloud 서비스 계정과 Play 콘솔 초대에 Google 로그인으로 제공할 수 있습니다. 이 단계는 대부분의 팀이 수동으로 오류를 범하는 단계입니다. bunx @capgo/cli@latest build init --platform android __CAPGO_KEEP_0__

Android는 Capgo 빌드에서 가장 적게 사용하는 플랫폼입니다. 이는 Linux 러너가 전 세계적으로 저렴하기 때문입니다. Android에서 Android의 가치는 iOS pipeline과 일관성, 자동 버전 코드, CI에서 Android SDK 또는 JDK 유지 관리가 필요하지 않으며, 웹 전용 변경 사항에 대한 동일한 CLI 배포입니다. 실시간 업데이트 웹 전용 변경 사항에 대한 단일 빌드는 10분 이내로 제한됩니다.

Android의 문제점과 각 플랫폼이 그들을 처리하는 방법

Keystore 손실

Keystore를 잃었을 때 업데이트를 다시 할 수 없다고 여겨졌습니다. Play App Signing을 사용하면 보관하는 Keystore는 업로드 키만이 되고, Play Console 지원은 새로운 업로드 키를 등록할 수 있습니다. 여전히 오프라인 백업을 유지하세요. 모든 플랫폼 위에서 Keystore를 암호화하여 저장합니다. 개발자의 노트북에 복사된 복사본의 위험이 일반적입니다. 새로운 것을 필요로 하면 Android Keystore 생성기 버전 __CAPGO_KEEP_0__ 충돌 Play는 이미 사용된 __CAPGO_KEEP_0__ 업로드를 거부합니다. 옵션: CI 실행 번호(__CAPGO_KEEP_0__)에서 파생하십시오 (GitLab, CircleCI), 플랫폼의 빌드 번호 변수를 사용하십시오 (Bitrise, Codemagic, Appcircle), 또는 __CAPGO_KEEP_1__ 빌드가 Play에서 최신 값을 읽고 증가시키십시오.

버전 충돌 code

__CAPGO_KEEP_0__ versionCode was already used. Options: derive it from the CI run number (GitHub, GitLab, CircleCI), use the platform’s build number variable (Bitrise, Codemagic, Appcircle), or let Capgo Build read the latest value from Play and increment it.

__CAPGO_KEEP_2__

A Capacitor Android 빌드는 수백 메가바이트의 의존성을 다운로드합니다. 캐싱 ~/.gradle/caches 그리고 ~/.gradle/wrapper 재현 빌드가 훨씬 빠르다. 호스트된 빌드 실행자에서 Gradle에 충분한 메모리를 제공하고 iOS와 Android 빌드를 병렬 작업 대신 한 번에 빌드하는 대신 gradle.properties (org.gradle.jvmargs=-Xmx4g플러그인 및 AGP 업그레이드

새로운 Android Gradle Plugin 버전은 더 오래된 플러그인을 깨트립니다. 프로젝트에서 AGP를 고정하고 branch에서 업그레이드하세요. 특정 수정은

AGP 9에서 __CAPGO_KEEP_0__ 플러그인 빌드 오류를 해결하세요 Android 빌드 오류를 Capacitor로 해결하세요 그리고 How to resolve Android build errors in Capacitor.

"호출자가 권한이 없습니다."는 가장 일반적인 업로드 오류입니다. 서비스 계정은 Play Console의 사용자 및 권한 아래에 초대되어야 하며 앱에 대한 릴리스 권한이 있어야 하며 Google Play Android Developer __CAPGO_KEEP_0__가 Google Cloud 프로젝트의 Google Cloud 프로젝트에서 활성화되어야 합니다. 새로운 서비스 계정은 __CAPGO_KEEP_1__가 그들을 수용하기까지 시간이 걸릴 수 있습니다.

“The caller does not have permission” is the most common upload error. The service account must be invited in Play Console under Users and permissions with release rights for the app, and the Google Play Android Developer API must be enabled in its Google Cloud project. New service accounts can take a while before the API accepts them.

__CAPGO_KEEP_1__를 선택하는 방법

당신의 상황 적합한 선택
Android 전용, 이미 GitHub 또는 GitLab에 있습니다. GitHub Actions 또는 GitLab CI
Native Android 팀이 시각 워크플로 편집기를 원하는 경우 Bitrise
다중 플랫폼 팀이 관리 키 스토어와 YAML에서 Play 게시물을 원하는 경우 Codemagic
모든 것을 자체 호스팅해야 함 Appcircle Server 또는 자체 호스팅된 러너
App Center, Microsoft 스택에서 오는 경우 Azure DevOps
Capacitor 앱, Android 및 iOS를 한 CLI에서 CI의 어떤 것에서도 Capgo 빌드

Capgo iOS 앱의 같은 결정에 대해 읽으십시오. Capacitor 앱에 한하여, 라이브 업데이트 포함하여 . Capacitor 앱에 대해, 특히 실시간 업데이트를 포함하여.

__CAPGO_KEEP_0__ 앱의 CI/CD 플랫폼 비교

  • 이동하기 전에 빠른 체크리스트
  • 업로드 키 스토어 파일과 두 개의 비밀번호, 그리고 alias가 일치하는지 확인하십시오 keytool -list -v -keystore release.jks.
  • Play Console에서 업로드 키로 등록된 인증서를 확인하고 SHA-1을 __CAPGO_KEEP_0__와 비교하십시오
  • 새로운 플랫폼은 JDK 21으로 Capacitor 8개의 프로젝트를 빌드하도록 해야 합니다.
  • Capgo 8 프로젝트의 경우 __CAPGO_KEEP_0__ 플랫폼이 JDK 21로 빌드되도록 확인하십시오
Capacitor 앱에 대한 즉시 업데이트

웹层 버그가 실시간으로 실행 중일 때, Capgo를 통해 픽스를 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 마세요. 사용자는 배경에서 업데이트를 받으며 네이티브 변경 사항은 일반적인 검토 경로를 유지합니다.

__CAPGO_KEEP_0__는 전문적인 모바일 앱을 만들기 위해 필요한 최고의 통찰력을 제공합니다.

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의 통찰력을 제공합니다.