한 대의 맥은 릴리즈의 병목 현상이 됩니다.
작은 릴리즈는 Xcode, 유효한 macOS 환경, 정확한 인증서가 저장된 하나의 기계가 필요할 때 하드웨어 및 서명 문제가 됩니다.
어느 기계에서나 iOS 빌드를 생성하세요
iOS 빌드의 어려운 부분은 Swift를 컴파일하는 것이 아닙니다. Xcode, 인증서, 배포 프로파일, App Store Connect 키, 그리고 한 대의 컴퓨터가 릴리즈 게이트가 되는 것입니다. Capgo 빌더는 Capacitor 팀에게 CLI-첫 번째로 iOS 빌드에 서명할 수 있는 경로를 제공합니다.
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
관리 맥 용량
iOS 빌드를 Apple에서 요구하는 곳에서 실행하십시오. 기존에 사용하는 기기를 통해 트리거하십시오.
같은 Capgo 릴리즈 루프
원시 변경 사항에 원시 바이너리를 유지하고 웹 변경 사항이 스토어 빌드가 설치된 후 OTA를 사용하십시오.
문제
작은 릴리즈는 Xcode, 유효한 macOS 환경, 정확한 인증서가 저장된 하나의 기계가 필요할 때 하드웨어 및 서명 문제가 됩니다.
인증서 프로파일이 작동하는 사람의 오프라인 상태가 되면 릴리즈는 기다립니다. 인증서 프로파일이 만료되면 모든 팀원은 압박하에 애플 서명에 다시 배웁니다.
자체 호스팅 macOS CI는 여전히 비밀, Fastlane 경로, Xcode 이미지 업데이트, 로그 보존 규칙, 그리고 Apple의 동작이 변경될 때 디버깅이 필요합니다.
숨어 있는 작업
맥을 구매하는 것은 단지 하드웨어 요구 사항만 해결합니다. Apple 서명, 자격 증명漂移, 러너 유지, 또는 팀원 병목 현상을 제거하지는 않습니다.
__CAPGO_KEEP_0__
파일 및 프로파일을 서명하는 것
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
해결책
Capgo는 네이티브 빌드가 클라우드에서 서명되고 웹 변경 사항은 실시간 업데이트를 통해 계속 진행되도록 해줍니다. Mac 하드웨어는 빌드가 필요할 때만 사용됩니다.
Capgo iOS 빌더는 관리되는 Apple 하드웨어에서 iOS 빌드를 실행합니다. Windows, Linux, 또는 저사양 랩톱에서 터미널에서 서명된 iOS 빌드를 트리거할 수 있습니다.
CLI은 Apple의 어려운 부분을 안내합니다: 번들 ID, App Store Connect 키, 배포 인증서, P12, 배포 프로파일, 및 다중 대상 프로파일 매핑.
터미널, CI, 또는 에이전트 워크플로에서 동일한 명령어를 실행할 수 있습니다. 릴리스를 대시보드에 이동하거나 Xcode를 배운 후 팀원에게 릴리스를 전달할 필요가 없습니다.
Builder를 사용할 때 자체 code, 플러그인, 아이콘, 권한, 또는 SDK 버전이 변경될 때 사용하십시오. 스토어 제출 간 JavaScript, CSS, 및 자산 변경에 대해 실시간 업데이트 사용하십시오.
신뢰 모델
클라우드 빌드는 새로운 곳에서 소스, 키, 및 로그가 영원히 살아남지 않도록 운영적 위험을 제거해야 합니다.
Capgo은 전체 Git 리포지토리를 클론할 필요가 없습니다. 빌드에 필요한 파일만 런너로 전송됩니다.
빌드 로그는 터미널로 스트리밍되므로敏感한 출력물이 팀이 감사해야 하는 또 다른 장기적인 데이터베이스가 되지 않도록합니다.
인증 정보는 활성 빌드 환경으로 전달되고 빌드 후 삭제됩니다. 빌더는 영구 인증 정보 보관소가 아닌 임시 실행자입니다.
워크플로우
프로젝트에서 빌더 init 흐름을 실행하세요. CLI은 Capacitor 앱을 읽고 플랫폼 설정을 안내합니다.
서명 인증 정보를 생성하거나导入하고, 배포 프로파일을 번들 ID에 매핑하고 CI 준비된 환경 파일을 내보낼 준비가되면 CI-준비된 환경 파일을 내보냅니다.
터미널, CI, 또는 agent 워크플로우에서 로컬 터미널에서 서명된 iOS 빌드를 요청하고 빌드가 실행되는 동안 로그를 스트리밍합니다.
Capgo live 업데이트와 함께 JS 및 자산 수정을 계속 배포하세요.
사용자 신호
사용자들이 가장 먼저 언급하는 것은 Mac이 아닌 것이고, 릴리즈 프로세스가 반복 가능해지는데, init 한번, 빌드를 요청하고 로그를 스트리밍하고, 팀에 서명 파일을 넘기지 않도록 멈추세요.
Capgo 빌더 피드백
Capacitor로 빌드된 앱
학교, 교통, 지원 앱은 대부분 웹, 지원, 또는 운영 팀일 때 서명된 모바일 릴리즈가 필요합니다. 호스팅 빌드 워크플로우는 서명 단계를 반복 가능하게 유지하면서 단일 머신 병목 현상을 제거합니다.
교육
국어가 아닌 팀이 신뢰할 수 있는 서명된 릴리스가 필요한 학교 커뮤니케이션 앱입니다.
여행 및 지역
개발자 한 명의 기기에서 릴리스 전달이 의존하지 않는 모바일 앱.
도구
운영 팀이 반복 가능한 모바일 빌드 기록이 필요한 지원 도구.
__CAPGO_KEEP_0__로 시작하여 iOS를 배송하고, Android, CI, 실시간 업데이트, 팀 워크플로우를 추가할 때 릴리스 프로세스가 성장할 때.