우리는 __CAPGO_KEEP_0__ Cloud Build을 발표하는 것을 매우 기대하고 있습니다. Capgo Cloud Build Capacitor Cloud Build은 iOS 및 Android용 네이티브 앱을 직접 클라우드에서 만들 수 있는 새로운 방법입니다. 로컬 개발 환경이나 CI/CD 인프라가 필요하지 않습니다.
해결해야 할 문제
네이티브 모바일 앱을 개발하는 것은 웹 개발자들에게 항상 고통의 지점이었습니다. 다음을 필요로합니다.
- 로컬 개발 도구Xcode (30+ GB)를 설치하고 유지 관리하는 것과 Android Studio를 컴퓨터에 설치하는 것
- 맥 하드웨어: iOS 빌드는 Mac이 필요하며, 이는 비용이 많이 들거나 Linux/Windows CI 실행자에서 불가능할 수 있습니다.
- CI/CD 설정: 복잡한 GitHub 작업 또는 다른 CI/CD 워크플로우를 설정하고 빌드 캐싱, 자격 증명 관리 및 더 많은 기능을 사용할 수 있습니다.
- 의존성 관리: 빌드 도구, SDK 및 인증서를 환경 간에 최신 상태로 유지합니다.
그것을 모두 생략하고 단일 명령어만 실행할 수 있다면?
Cloud Build 소개
Capgo Cloud Build를 사용하면 앱 빌드는 다음과 같이 단순화됩니다.
# First time: Save your credentials locally
npx @capgo/cli@latest build credentials save --platform ios
npx @capgo/cli@latest build credentials save --platform android
# Then build
npx @capgo/cli@latest build com.example.app
그것이 전부입니다. Xcode, Android Studio, 복잡한 CI/CD 설정이 필요하지 않습니다. 단일 명령어만 사용하면:
- 프로젝트를 로컬에서 압축합니다.
- Capgo의 클라우드 인프라에 업로드합니다.
- 인증 정보를 저장한 후 전용 인프라에서 앱을 빌드합니다.
- 실시간으로 터미널에 로그를 스트리밍합니다.
- 앱 스토어와 플레이 스토어에 제출합니다 (설정된 경우).
작동 방식
Capgo Cloud Build를 만들 때는 Expo EAS Build와 동일한 접근 방식을 사용했습니다 - 클라이언트가 모든 복잡성을 처리하는 데 사용되는 전용 클라우드 인프라.
하지만 우리가 다른 점은 다음과 같습니다: 우리는 3년 동안 이 일을 해 왔습니다.우리는 Capgo의 시작부터 클라이언트에게 내부적으로 Capacitor 앱을 빌드해 왔으며, 우리는 Capacitor 앱을 신뢰할 수 있게 빌드하는 데 필요한 정확한 것을 배웠습니다.
전문가
지난 3년 동안 우리는:
- __CAPGO_KEEP_0__ 앱을 위한 커스텀 Fastlane 구성이 최적화된 것을 만들었습니다. Capacitor 빌드에 능숙해졌습니다.
- Capacitor - Capacitor에 대한 중요한 빌드에 대한 깊은 지식을 가지고 있습니다. 플러그인 구성부터 네이티브 의존성까지
- 네이티브 전용으로 집중 - 우리는 iOS와 Android의 네이티브 부분만 빌드합니다. JavaScript는 당신의 편입니다. 우리는 웹 code에 손을 대거나 저장하지 않습니다.
- 인프라를 개선 - 수천 개의 내부 빌드는 우리가 사용할 수 있도록 빌드 시스템을 완벽하게 만들기 위해 도움이되었습니다.
이것은 새로운 실험이 아닙니다. 우리는 몇 년 동안 의존해 왔던 배포된 인프라입니다.
Android
Android 빌드는 보안 Cloudflare sandbox에서 실행되며 완료 후 즉시 삭제됩니다. 앱은 Gradle을 사용하여 Capacitor 최적화된 빌드 스크립트로 컴파일되고, 서명되고, Play Store에 제출됩니다.
iOS
iOS 빌드는 Scaleway Mac mini를 사용하여 on-demand로 프로비전된 전용 Mac 머신에서 실행됩니다. 우리는 몇 년 동안 Capacitor 빌드를 위해 개선된 Fastlane 설정을 사용하여 앱을 빌드, 서명, TestFlight에 제출합니다. 각 빌드는 보안을 위해 격리된 macOS 사용자 계정에서 실행되고, 24시간 후에 자동으로 삭제됩니다.
실시간 로그
다른 솔루션과 달리, 우리는 빌드 로그를 실시간으로 터미널로 스트리밍합니다. 당신은:
- 의존성 설치
- 빌드 컴파일
- Code 서명
- 앱 스토어 제출
- 어떤 오류 또는 경고
그리고 여기 중요한 부분: 우리는 로그를 저장하지 않습니다.그것들은 빌드 동안만 CLI 세션을 통해 사용할 수 있으며, 개인정보 보호를 위해 보장됩니다.
인증 정보의 작동 방식
빌드를 하기 전에 서명 인증 정보를 제공해야 합니다. Capgo는 보안에 최선을 다하고 있습니다.
인증 정보 저장
인증 정보는 로컬 머신에 저장됩니다. ~/.capgo/credentials.json:
# For iOS - provide certificates and provisioning profiles
npx @capgo/cli@latest build credentials save --platform ios \
--certificate ./path/to/cert.p12 \
--p12-password "your-password" \
--provisioning-profile ./path/to/profile.mobileprovision
# For Android - provide keystore and passwords
npx @capgo/cli@latest build credentials save --platform android \
--keystore ./path/to/keystore.jks \
--keystore-alias "your-alias" \
--keystore-key-password "key-password" \
--keystore-store-password "store-password"
이 인증 정보는 Capgo에 업로드되지 않습니다. 빌드 요청을 할 때까지. 이들은 안전하게 컴퓨터에 저장됩니다.
빌드 과정
빌드 명령어를 실행할 때:
- Local: CLI은 인증 정보를 로컬에서 읽습니다.
~/.capgo/credentials.json - Upload: 인증 정보는 HTTPS를 통해 Capgo의 빌드 서버로 안전하게 전송됩니다. 프로젝트와 함께
- Build: 인증 정보는 빌드 프로세스가 활성화된 동안만 사용됩니다.
- Cleanup: Capgo 서버에서 빌드가 완료되면 자격 증명이 자동으로 삭제됩니다.
보안 보장
자격 증명에 대한 보장에 대해 우리가 보장하는 것은 다음과 같습니다.
- ✅ 영구적으로 저장되지 않습니다. - Capgo 서버에서 자격 증명이 빌드가 활성화되는 동안만 존재합니다.
- ✅ 자동 삭제 - 빌드가 완료되면 즉시 삭제되며 (빌드가 실패하더라도) 최대 24시간까지도.
- ✅ 로그, 아티팩트 없음 - 자격 증명 추적을 포함한 빌드 로그나 IPA/APK 파일을 저장하지 않습니다.
- ✅ 임시 환경 - 빌드 환경이 사용 후 완전히 삭제됩니다.
- ✅ 스토어로 직접 - 앱은 App Store/Play Store로 직접 배포됩니다. - Capgo는 앱을 보관하지 않습니다.
인증서 관리
저장된 인증서에 대한 완전한 제어권을 보유합니다:
# List saved credentials (passwords masked)
npx @capgo/cli@latest build credentials list
# Clear credentials for a specific platform
npx @capgo/cli@latest build credentials clear --platform ios
# Clear all credentials
npx @capgo/cli@latest build credentials clear
어떤 인증서가 필요한가요?
iOS용:
- 빌드 인증서 (.p12 파일 및 암호)
- 배포 프로파일(.mobileprovision 파일)
- 선택 사항: App Store Connect API 키 (자동 배포를 위해)
Android용:
- Keystore 파일 (.jks 또는 .keystore)
- Keystore 별칭
- Keystore 키 암호
- Keystore 저장소 암호
- 선택 사항: Google Play 서비스 계정 JSON (자동 제출을 위해)
자세한 설정 지침을 참조하세요. 개인 정보 보호 및 보안 우선 인증 정보 이외에도, 우리는 개인 정보 보호 및 보안을 고려하여 전체 빌드 시스템을 설계했습니다:
로그 저장 없음
: 빌드 로그는 서버 전송 이벤트 (SSE)를 통해 실시간으로 터미널에 스트림되지만 디스크나 데이터베이스에 영구적으로 저장되지 않습니다.
- 아티팩트 저장소 없음: 빌드된 IPA/APK 파일은 앱 스토어/플레이 스토어 서버로 직접 이동되며 __CAPGO_KEEP_0__는 그들을 저장하지 않습니다.
- 자동 정리Capgo
- __CAPGO_KEEP_0__:
- Android: __CAPGO_KEEP_0__이 완료되면 즉시 파괴됩니다.
- iOS: 빌드 후 Mac 사용자 계정이 정리되고 24시간 후에 기계가 해제됩니다.
- 격리된 빌드: 각 iOS 빌드는 자신의 키 체인과 함께 완전히 별도의 macOS 사용자 계정에서 실행됩니다.
- 당신의 Code 개인 정보: 우리는 네이티브 부분만 빌드합니다 - 당신의 JavaScript/HTML/CSS는 우리 서버에 접촉하지 않습니다.
- 빌드 기록 없음: 우리는 당신의 빌드, 버전, 또는 활성 빌드에 필요한 것 이상의 빌드 메타데이터를 유지하지 않습니다.
어디서든 사용하세요
Cloud Build는 어디서든 작동합니다 - 당신의 로컬 머신, GitHub Actions, GitLab CI, 또는 어떤 CI/CD 플랫폼이든.
로컬 개발
로컬 머신에서 한번 저장한 인증 정보로 빌드할 수 있습니다: 언제든지 빌드할 수 있습니다.
# One-time credential setup
npx @capgo/cli@latest build credentials save --platform ios \
--certificate ./certs/dist.p12 \
--p12-password "$P12_PASSWORD" \
--provisioning-profile ./certs/profile.mobileprovision
# Build anytime
npx @capgo/cli@latest build com.example.app --platform ios
CI/CD 통합
CI 환경에서, 다음 중 하나를 선택할 수 있습니다:
1. CI에서 자격 증명을 저장합니다. (간결성으로 추천)
# GitHub Actions example
- name: Save credentials and build
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
run: |
# Decode base64-encoded credentials from secrets
echo "${{ secrets.IOS_CERTIFICATE_BASE64 }}" | base64 -d > cert.p12
echo "${{ secrets.PROVISIONING_PROFILE_BASE64 }}" | base64 -d > profile.mobileprovision
# Save credentials
npx @capgo/cli@latest build credentials save --platform ios \
--certificate ./cert.p12 \
--p12-password "$P12_PASSWORD" \
--provisioning-profile ./profile.mobileprovision
# Build
npx @capgo/cli@latest build com.example.app --platform ios
2. 인라인으로 자격 증명을 제공합니다. (고급 사용 사례를위한)
자격 증명을 환경 변수로 직접 전달할 수도 있습니다. - 자세한 내용은 자격 증명 문서 에서 확인하십시오.
No need to configure Mac runners, manage build caches, or install SDKs in your CI environment. Capgo handles all of that in the cloud.
__CAPGO_KEEP_0__
는 클라우드에서 모든 것을 처리합니다.
- 안드로이드 빌드: 1× 배율
- iOS 빌드: 2× 배율 (dedicated Mac 하드웨어 비용으로 인해)
비용이 없는驚き, 최소 계약이 없습니다. 사용하는 만큼만 지불합니다.
Your Code, Your Responsibility
One important principle of Capgo Cloud Build: 우리는 오직 네이티브 부분만 빌드합니다.
Your 자바스크립트, HTML, 및 CSS는 당신의 편입니다. 우리는 웹 code를 처리, 검사, 또는 저장하지 않습니다. 당신은 웹 자산을 로컬에서 빌드해야 하며 ( npm run build 또는 당신이 선호하는 빌드 도구를 사용하여), 우리는 네이티브 컴파일을 처리합니다.
이 분리는 의도적으로 이루어졌습니다:
- 더 나은 보안 - 당신의 애플리케이션 로직은 항상 당신의 통제 하에 있습니다
- 빠른 빌드 - 우리는 당신의 웹 code을 다시 빌드하는 시간을浪費하지 않습니다
- rõ ràng한 책임 - 당신은 웹 빌드 프로세스를 통제하고, 우리는 네이티브 복잡성을 처리합니다
라이브 업데이트에 대해 무엇입니까?
Cloud Build는 우리의 기존 라이브 업데이트 시스템을 보완합니다. 이 두 가지가 어떻게 함께 작동하는지 알아보세요:
- Cloud Build: 네이티브 앱 변경 (플러그인, 권한, 네이티브 code)이 App Store/Play Store 검토를 필요로 할 때
- 라이브 업데이트code 변경 (HTML, CSS, JavaScript) 이 즉시 검토 없이 배포될 수 있는 웹 code입니다.
Cloud Build를 사용하여 새로운 플러그인을 추가하거나 네이티브 구성이 변경되었을 때 사용하고, 나머지 모든 경우에는 라이브 업데이트 사용. 그들은 함께 가장 빠른 배포 워크플로를 제공합니다.
현재 상태: 완전 출시
2026년 1월 이후 Cloud Build는 완전히 출시되었으며 모든 Capgo 사용자에게 사용 가능합니다. 우리는 생산 피드백을 기반으로 경험을 개선하고 있습니다.
시작하기에 도움이 필요하세요? Discord에 가입하여 우리가 첫 번째 빌드를 실행하는 데 도움이 될 수 있는지 알려주세요.
시작하기
힘들게 빌드하지 않고 빌드하기를 원하세요? Cloud Build 문서를 확인하여 설정하는 자격 증명에 대해 더 알아보세요.
- 설정하는 자격 증명 - iOS certificates와 Android keystores
- Getting started guide - 5분 내에 첫 번째 빌드를 완료하세요
- iOS-specific setup - 인증서, 배포 프로파일, App Store Connect
- Android-specific setup - keystores 및 Play Store 구성
- CI/CD integration - pipeline에서 빌드를 자동화하세요
- Troubleshooting - 일반적인 문제와 해결책
What’s Next?
We’re actively working on:
- iOS 빌드 속도 향상: 빌드 시간을 줄이기 위해 의존성 캐싱
- 빌드 아티팩트 저장소 : 수동 배포를 위한 IPA/APK 파일 다운로드 옵션
- 커스텀 빌드 스크립트 : 프리/포스트 빌드 훅 및 커스텀 Fastlane 레인 지원
- 빌드 로그 히스토리 : 디버깅 및 감사 트레일을 위한 로그 저장 옵션
We’re building Capgo Cloud Build를 개발자에게 가장 편리한 방법으로 네이티브 모바일 앱을 빌드하는 데 사용할 수 있도록 만들고 있습니다. 피드백이나 기능 요청이 있으시면 우리의 디스코드 커뮤니티.
빌드하기에 행복하세요!
더 알아보기
Capgo 클라우드 빌드 소개 - 빌드에 대한 스트레스를 피하세요
__CAPGO_KEEP_0__를 사용 중이라면 Capgo 클라우드 빌드 소개 - 빌드에 대한 스트레스를 피하세요 CI/CD 자동화 계획을 만들고 연결하려면 Capgo CI/CD 제품 워크플로우에 대한 Capgo CI/CD에 대해 Capgo 네이티브 빌드 Capgo CI/CD에 대한 제품 워크플로우에 대해 Capgo 통합 Capgo 통합에 대한 제품 워크플로우에 대해 CI/CD 통합 CI/CD 통합에 대한 구현 세부 사항, 그리고 GitHub 액션 통합에 대한 구현 세부 사항 for the implementation detail in GitHub Actions Integration.