하나의 Mac은 릴리스의 병목 현상이 됩니다.
작은 릴리스가 Xcode, 유효한 macOS 설정 및 정확한 인증서가 저장된 하나의 기계가 필요할 때 하드웨어 및 서명 문제가 됩니다.
어떤 기계에서든 Cloud iOS 빌드
Swift 컴파일이 어려운 것은 아니다. Xcode, 인증서, 배포 프로파일, App Store Connect 키, 그리고 한 대의 노트북이 릴리즈 게이트가 되는 것이다. Capgo 빌더는 Capacitor 팀에게 signed iOS 빌드에 대한 CLI-first 경로를 제공한다.
인간 지원
npx @capgo/cli@latest build init --platform ios
npx @capgo/cli@latest build request --platform ios
# signed build runs on an ephemeral Mac runner
# logs stream back to your terminal
Mac을 사용하지 않고 빌드하는 솔루션
iOS 빌드를 Apple에서 요구하는 곳에서 실행하고 기존에 사용하는 기기를 통해 트리거하세요.
같은 Capgo 릴리스 루프
자연적인 바이너리 유지 및 OTA를 사용하여 웹 변경 사항을 사용할 수 있습니다. 스토어 빌드가 설치된 후.
문제
작은 릴리스가 Xcode, 유효한 macOS 설정 및 정확한 인증서가 저장된 하나의 기계가 필요할 때 하드웨어 및 서명 문제가 됩니다.
인증서 프로필이 작동하는 사람의 오프라인 상태일 때 릴리스는 기다립니다. 인증서 프로필이 만료되면 모든人が Apple 서명에 대한 학습을 다시 시작합니다.
MacOS CI를 자체 호스팅하면 여전히 비밀, Fastlane 경로, Xcode 이미지 업데이트, 로그 보존 규칙, Apple의 동작 변경 시 디버깅이 필요합니다.
숨겨진 작업
Mac을 구매하는 것은 단지 하드웨어 요구 사항만 해결합니다. Apple 서명, 자격 증명漂移, 러너 유지, 팀원 병목 현상은 모두 제거되지 않습니다.
첫 번째 빌드가 성공하려면 올바른 Apple Developer 팀, 번들 ID, 기능, App Store Connect 앱 레코드, 업로드 권한이 필요합니다.
배포 빌드는 배포 인증서, P12 내보내기, 프로비전 프로파일, 프로파일-번들 매핑, 만료 시 재생위한 프로세스가 필요합니다.
Xcode 버전, macOS 러너, CocoaPods, Fastlane, 비밀 저장소, 업로드 로그는 모두 제품 팀이 유지해야 하는 인프라가 됩니다.
CLI 예시
iOS의 일반적인 경로에서는 Apple 서명에 대한 이해를 요구하기 전에 앱이 빌드되는지 여부를 알 수 없습니다. Capgo은 이 것을 인터랙티브한 설정과 빌드 요청 하나로 바꿉니다.
# First-time iOS setup
npx @capgo/cli@latest build init --platform ios
# Then any teammate or CI runner can request the build
npx @capgo/cli@latest build request --platform ios
The Solution
Capgo은 iOS 빌드에 필요한 Mac 하드웨어를 사용할 때만 사용합니다.
Capgo Builder runs iOS builds on managed Apple hardware. Your Windows, Linux, or low-spec laptop can still trigger a signed iOS build from the terminal.
CLI-첫 번째 릴리즈 자동화
자연 빌드 및 실시간 업데이트
Use Builder when native code, plugins, icons, permissions, or SDK versions change. Use live updates for JavaScript, CSS, and asset changes between store submissions.
신뢰 모델
클라우드 빌드는 운영 위험을 제거해야 하지만 새로운 곳에서 소스, 키, 로그가 영원히 살아남지 않도록 해야 합니다.
Capgo은 전체 Git 리포지토리를 클론하지 않고 빌드를 생성하기 때문에 빌드에 필요한 파일만 빌드 러너로 전송합니다.
빌드 로그는 빌드 러너에서 터미널로 스트리밍되므로 sensitive 출력이 팀이 감사해야 하는 또 다른 영구적인 데이터베이스가 되지 않도록 합니다.
인증 정보는 빌드 환경에 전달되고 빌드 후 삭제됩니다. 빌더는 영구적인 인증 보관소가 아닌 임시 빌드 러너입니다.
워크플로
Capgo Builder를 프로젝트에서 실행하세요. CLI은 Capacitor 앱을 읽고 플랫폼 설정을 안내합니다.
등록을 위해 인증서를 생성하거나 가져오고, 프로비저닝 프로파일을 번들 ID와 매핑하고, CI-준비된 환경 파일을 내보낼 준비가되면, CI-준비된 환경 파일을 내보내세요.
터미널, CI, 또는 agent 워크플로에서 로컬에서 signed iOS 빌드를 요청하고, 빌드가 실행되는 동안 로그를 스트리밍하세요.
TestFlight에 업로드하거나 IPA를 수집한 후, Capgo live 업데이트와 함께 JS 및 자산 수정을 계속 배포하세요.
사용자 신호
주요 릴리프 사용자는 Mac이 아닌 것이 아니라, 릴리즈 프로세스가 반복 가능해지기 때문입니다. init 한번, 빌드를 요청하고, 로그를 스트리밍하고, 팀에서 인증서 파일을 주고받지 않아야 합니다.
Common Capgo Builder feedback
Apps built with Capacitor
학교, 교통 및 지원 앱은 주로 웹, 지원 또는 운영을 담당하는 팀에서 signed 모바일 릴리스가 필요할 때가 있습니다. 호스팅된 빌드 워크플로우는 단일 머신 병목 현상을 제거하면서 서명 단계를 반복할 수 있도록 합니다.
교육
학교 커뮤니케이션 앱에서 비영어권 팀이 신뢰할 수 있는 signed 릴리스가 필요할 때입니다.
여행 및 지역
개발자 한 명의 기기에서 릴리스 전달이 의존하지 않아야 하는 교통 예약 앱입니다.
도구
운영 팀이 반복 가능한 모바일 빌드 기록이 필요할 때 지원하는 유틸리티입니다.
iOS 빌드를 시작하고, Android, CI, 라이브 업데이트, 및 팀 워크플로우를 추가하여 릴리스 프로세스가 성장할 때까지.
마틴의 인간 지원을 시작하세요.