메인 콘텐츠로 건너뛰기

연속 배포와 어떻게 작동하는지 알아보세요

마틴 도나디우

생산 문제가 해결되었고, 웹 빌드는 성공했으며, 팀은 몇 분 만에 배포할 수 있습니다. 그런 다음 alguien이 기억합니다. 모바일 릴리스는 여전히 앱 스토어 리뷰, 준수성 체크리스트 또는 출근하지 않은 릴리즈 매니저에 의존하고 있습니다. __CAPGO_KEEP_0__은 완료되었지만 제품은 움직이지 않습니다.

A production fix is ready, the web build is green, and your team could deploy it in minutes. Then someone remembers that the mobile release still depends on app store review, a compliance checklist, or a release manager who’s out of office. The code is finished, but the product isn’t moving.

그것은 연속적 배포 연속적 배포는 중요합니다. 팀에게 반복 가능한 방법을 제공하여 모든 변경 사항이 테스트, 패키징, 추적, 배포 준비가 될 수 있도록 해줍니다. 최종 단계는 자동화된 프로덕션 배포, 인간 승인, 또는 설치된 앱에 전달되는 모바일 업데이트일 수 있습니다.

목차

최신 소프트웨어 팀에서 연속적 배포를 이해하세요

한 팀은 문제를 확인하는 동안 제품 매니저가 완료하기 전에 작은 수정을 병합하고 유효한 빌드를 릴리즈하기 위해 준비합니다. 다른 팀은 변경 사항을 큰 모바일 릴리즈로 그룹화하고 바이너리 리뷰 사이클을 기다리고 릴리즈 윈도우가 좁은 경우에 아무것도 깨지지 않는 것을 기대합니다. 두 팀 모두 연속적 통합을 사용하지만, 첫 번째 팀만 소프트웨어가 항상 릴리즈할 수 있도록 유지하는 배포 프로세스를 구축했습니다.

연속적 배포는 자동화된 빌드, 테스트, 패키징 및 릴리즈 준비를 통해 소프트웨어를 항상 릴리즈할 수 있는 상태로 유지합니다. 제즈 험블(Jez Humble)과 David Farley가 2010년 공식적으로 이 관행을 popularize했습니다. Continuous Delivery: Build, Test, 및 Deployment Automation을 통해 신뢰할 수 있는 소프트웨어 릴리스. 그들의 정의는 ACM 레코드에 설명된 broader workflow를 포함하여 build automation을 초과하는 continuous integration을 확장했습니다.

Continuous integration은 개발자가 공유 코드베이스에 변경 사항을 병합할 때 변경 사항을 유효성 검사합니다. Continuous delivery는 다음 단계를 수행하여 릴리스 후보를 생성하고 explicit quality gates에 대해 확인하고 결과 artifact를 저장하고 제어된 릴리스를 위해 사용할 수 있도록 만듭니다. 그 마지막 릴리스는 여전히 사람의 승인으로 릴리스될 수 있습니다.

Continuous Delivery와 traditional development cycles와의 빠른 프로세스를 비교하는 infographic.

이 manual decision은 의도적으로 이루어졌습니다.

Continuous delivery와 continuous deployment은 서로 교환할 수 없습니다.

Continuous delivery의 pipeline는 production readiness까지 모든 것을 자동화합니다. 릴리스 매니저, 제품 влас자 또는 엔지니어는 여전히 변경 사항이 live 사용자에게 도달해야 하는지 결정할 수 있습니다. Continuous deployment는 pipeline를 통과한 변경 사항을 production으로 직접 전송합니다.

A 제조 공정 라인과 유사한 비교가 있습니다. 각 작업장에서는 제품을 검사하고 결과를 기록하고 불량품이 진행되지 않도록 방지합니다. 출하장에서 관리자는 여전히 어느 트럭이 언제 출하할지 결정합니다. 연속적 배포는 동일하게 작동합니다. 반복적인 검증은 자동화로 처리되며, 사업 타이밍과 위험은 사람들에게 남겨집니다.

모바일 팀에게는 이 구별이 특히 중요합니다. 네이티브 바이너리는 저장소 검토, 협조된 커뮤니케이션, 또는 규제된 사업부의 승인을 필요로 할 수 있습니다. pipe line은 자동으로 바이너리를 빌드, 테스트, 서명, 준비할 수 있지만, 최종 릴리스는 사람의 통제하에 있습니다.

실용적인 규칙: 팀이 즉시 테스트 가능한, 식별 가능한 릴리스 후보를 생산할 수 없다면, 연속적 배포를 아직 달성하지 못했습니다.

유용한 시작점은 연속적 배포 pipe line 개요입니다. 핵심적인 질문은 팀이 항상 릴리스하는지 여부가 아니라, 다음 릴리스가 예측 가능하며 반복 가능하며 승인할 수 있는지 여부입니다.

연속적 배포 pipe line의 핵심 구성 요소

배포 pipe line은 소스 변경을 제어된 릴리스 후보로 변환합니다. implementation은 웹 서비스, Capacitor 애플리케이션, Electron 데스크톱 앱 사이에 변할 수 있지만, 책임은 일관되게 유지됩니다.

소스 제어는 입력을 정의합니다.

모든 pipeline은 신뢰할 수 있는 진실의 원천이 필요합니다. 개발자는 code, 구성, 테스트, pipeline 정의를 버전 관리에 제출합니다. 변경 사항은 커밋, pull request, 또는 승인된 수정 버전으로 추적할 수 있어야 하며, 문서화되지 않은 로컬 빌드에 따라 추적되지 않아야 합니다.

branching strategy는 명확성보다 중요하지 않습니다. 팀은 짧은 라이브 브랜치, 트렁크 기반 개발, 또는 다른 모델을 사용할 수 있지만 pipeline은 빌드 중인 버전과 릴리스에 적합한 버전을 명확하게 나타내야 합니다.

빌드는 재현 가능한 artifact를 생성합니다.

빌드 단계는 소스 code를 배포 가능한 것으로 변환합니다. 크로스 플랫폼 애플리케이션의 경우 웹 번들, 네이티브 프로젝트 출력, 이เลクト론 패키지, 또는 서명된 모바일 바이너리 등이 포함될 수 있습니다. 빌드는 개발자의 머신에 의존하지 않고 깨끗하고 일관된 환경에서 실행되고 의존성을 캡처해야 합니다.

CI에서 성공적으로 빌드된 빌드가 실패하는 것은 배포 프로세스가 아닙니다. 그것은 릴리스 드리프트에 대한 초대장입니다.

테스트는 층별 증거를 제공합니다.

릴리스 신뢰를establish하는 단일 테스트 스위트가 없습니다. 효과적인 pipeline은 다양한 범위의 체크를 combination합니다:

  • 단위 테스트 isolated 함수 및 컴포넌트에서 결함을 빠르게 catch합니다.
  • 통합 테스트 서비스, 플러그인, 저장소 및 플랫폼 API와의 통신을 확인합니다.
  • 승인 테스트 사용자 워크플로우를 연습하기, 예를 들어 인증, 체크아웃, 동기화, 또는 오프라인 복구.
  • 정적 및 정책 검사 형식, 의존성 규칙, 보안 요구 사항 및 기타 프로젝트 표준을 강제합니다.

모바일 및 크로스 플랫폼 애플리케이션의 경우, 스테이징 환경이 실제 프로덕션 구성과 유사한 곳에서 끝까지 테스트를 실행합니다. 단순한 모의 테스트에서 통과한 테스트가 플랫폼 권한 문제, API 버전 불일치, 또는 업데이트 처리 실패를 노출하지 않을 수 있습니다.

아티팩트는 릴리스 식별성을 보존합니다.

pipeline은 정확한 아티팩트를 저장해야 합니다. 동일한 소스에서 다시 빌드하는 경우 의존성, 도구, 또는 구성이 변경된 경우 결과가 다를 수 있습니다. 아티팩트 저장은 팀이 안정적인 객체를 승격, 검사, 비교, 롤백할 수 있도록 해줍니다.

승인된 아티팩트를 이동하는 자동화

승인된 아티팩트를 지정된 환경으로 배포하는 자동화입니다. 구성이 일관되게 적용되고, 누가 또는 무엇이 동작을 시작했는지 기록되고, 단계가 실패할 때도 명확한 상태를 노출해야 합니다. 팀은 배포 서비스, CI 워크플로우, 또는 플랫폼 특정 릴리스 시스템을 사용할 수 있지만, 프로세스는 수동 명령의 순서에 의존하지 않아야 합니다.

자동화된 배포 자동화된 배포는 Capacitor 팀을 위한 배포 자동화 지침을 제공합니다. 계속적인 배포 pipeline의 다섯 단계를 나타내는 다이어그램, 빌드, 테스트, 배포를 포함합니다.

계속적인 배포 pipeline의 다섯 단계를 나타내는 다이어그램, 빌드, 테스트, 배포를 포함합니다.

품질 게이트와 롤백은 디자인의 일부입니다.

품질 게이트는 pipeline이 진행되기 전에 반드시 통과해야 하는 명시적인 조건입니다. 예를 들어, 테스트의 성공, 유효한 서명, 승인된 의존성 스캔, 일치하는 환경 설정, 또는 필수적인 검토가 포함됩니다. 게이트가 가장 잘 작동하는 경우 팀은 보호하는 내용과 오버라이드할 수 있는 사람을 문서화해야 합니다.

롤백도 동일한 주의가 필요합니다. 배포가 심각한 결함을 유발하면 복구 경로가 자동화되거나 단순하고 잘 테스트된 액션으로 줄어들어야 합니다. 배포가 빠르게 발행할 수 있지만 이전 릴리스를 재구성해야 하는 팀이 필요하지 않다면,頻繁한 배포를 위해 충분히 안정적이지 않습니다.

기술 연속 배달의 기술적 정의와 자동화 pipeline 메커니즘 자동화 pipeline 메커니즘의 중앙 속성에 중점을 둡니다: 변경 사항은 자동으로 빌드, 테스트, 릴리스 준비가 되며, 프로덕션 배포는 여전히 수동 결정이 필요합니다. pipeline은 단순히 일정이지 않습니다. 릴리스 준비가 연속적이게 만드는 아키텍처입니다.

Pipeline 건강 측정에 DORA 지표를 사용합니다.

팀은 배포 빈도수를 증가시키면서 프로덕션을 안정적으로 유지할 수 있습니다. 그 이유는 배달 성능이 단순히 릴리스 카운트만으로는 충분하지 않기 때문입니다.

DORA는 네 가지 핵심 흐름 지표를 정의합니다:

지표 그것이 알려주는 내용
배포 빈도 팀이 변경을 얼마나 자주 배포하는가
변경의 리드 타임 변경이 커밋에서 프로덕션으로 이동하는 데 걸리는 시간
변경 실패율 배포가 실패, 롤백, 핫픽스, 또는 다른 복구 이벤트를 유발하는 빈도
서비스 복구까지의 평균 시간 팀이 실패 후 서비스를 건강한 상태로 되돌리는 속도

DORA 성능 밴드에서는 엘리트 팀이 일일 배포를 여러 번 한다리드 타임은 1시간 이하변경 실패율은 0에서 15% 범위. 저성능 팀은 6개월 이내에 배포하지 않고 6개월 이상 변경 사항이 생산 환경에 도달하기까지 .

Octopus 지속적인 배포 지표 논문에

이 숫자는 그대로 따라할 수 있는 목표가 아니다.

배포를 제어 시스템으로 다루어야 하는 이유를 보여준다.

작은 배치 크기는 각 릴리스의 표면 영역을 줄이고,

짧은 피드백 루프는 팀이 변경 사항이 도입된 곳에서 더 가까운 곳에서 오류를 감지할 수 있게 한다. 변경 실패율, 배포 재작업률, 실패 배포 복구 시간, pipe라인 안정성, DORA 지침.

모바일 pipe라인에서 특히 유용한 측정치입니다. 배포 실패로 인해 재작업이 발생하는 경우, 단순 배포 카운트로는 드러나지 않는 문제가 발생할 수 있습니다.

commit부터 build, test, artifact 배포, 승인, 배포, 복구까지의 모든 경로를 측정합니다.

commit부터 build, test, artifact 배포, 승인, 배포, 복구까지의 모든 경로를 측정합니다.

timestamp와 outcome를 commit부터 build, test, artifact 배포, 승인, 배포, 복구까지의 모든 경로에서 캡처합니다.

release를 source revision과 environment에 연결합니다. mobile update의 경우 channel, bundle version, adoption status, failure status, rollback event를 포함합니다. 팀은 종종 slowest part가 compiler나 test runner가 아닌 manual approval queue, unreliable staging environment, missing signing step, rollback process가 아닌 것을 발견합니다.

healthy pipeline은 failure를 빠르게 감지하고 recovery를 재미없게 만듭니다.

차이점은 단 하나의 게이트지만, 그 게이트는 운영 모델을 바꿔 놓는다.

연속적 배포 변경 사항이 전부 준비되어 있고, 최종 운영 결정은 인간의 통제 하에 있다. 연속적 배포 자동으로 모든 변경 사항이 품질 게이트를 통과하면 프로덕션으로 자동으로 승격한다. 두 번째 모델은 피드백 루프를 단축할 수 있지만, 자동화된 검사, 관찰성, 롤백이 승인 단계를 대체할 수 있는 강력한 것으로 가정한다.

연속적 배포 연속적 배포
pipeline 범위 빌드, 테스트, 패키지, 릴리즈 준비 빌드, 테스트, 패키지, 릴리즈 배포
프로덕션 결정 A person may approve or trigger deployment pipeline은 자동으로 생산 전환을 수행합니다.
Risk control 자동화와 의도적인 릴리스 게이트를 결합합니다. Relies heavily on automated detection and recovery
적합한 조건 Mobile apps, regulated workflows, and changes needing coordination 테스트, 플래그, 모니터링, 롤백이 강력한 성숙한 웹 서비스
Primary trade-off 더 많은 제어, 그러나 승인 지연 가능 빠른 피드백, 그러나 인간의 검토가 없는 노출

Continuously deployment은 팀이 빠르게 나쁜 변경을 감지하고 이전 상태를 즉시 복원할 수 있는 경우에만 의미가 있습니다. 기능 플래그, 카나리 노출, 건강 검사, 자동 롤백은 폭파 반경을 줄이지만, 약한 테스트 또는 관찰 불가능성은 보상하지 않습니다.

모바일 애플리케이션에서 지속적인 배포는 종종 더 솔직한 선택입니다. 스토어 리뷰, 네이티브 버전 조정, 고객 커뮤니케이션 및 플랫폼 제약이 완전 자동화된 프로덕션 배포를 현실적으로 불가능하게 만들 수 있습니다. 팀은 여전히 거의 모든 것을 자동화하고 비즈니스 또는 플랫폼 위험을 수반하는 단계에 대한 의도적인 결정을 보류할 수 있습니다.

adoptio barrier에 대한 연구는 조심을 권장합니다. 2017년의 실증 연구는 11 가지 제한 요인이 조직을 자동으로 프로덕션으로 변경을 제한하는 것을 확인했습니다. 자동화된 수락 테스트가 누락된 경우, 수동 품질 검사가 필요한 경우, 자동화된 테스트 커버리지가 부족한 경우, 또는 문서화된 지속적인 배포 제한 연구.

의 배포 프로세스가 불충분한 경우입니다.

이 선택은 성숙도 경쟁이 아닙니다. 팀이 통제할 수 있는 실패 모드에 따라야 합니다. 두 모델의 자세한 비교를 원하신다면 지속적인 배포와 지속적인 배포

를 참조하세요. 실제 테스트는 간단합니다: 승인 게이트를 제거하면 팀이 문제를 감지하고 역전할 수 있는 사용자에게 노출되지 않도록 하려면 게이트를 유지하고 pipe라인을 먼저 개선하세요.

Mobile teams inherit a delivery constraint that web teams often avoid. A web deployment can reach users as soon as the production system serves the new code. A native mobile change may wait for store review, user adoption, and installation before it becomes available.

그것은 모바일 팀이 연속적 배포를 포기해야 한다는 것을 의미하지 않는다. 그것은 그것이 필요하다는 것을 의미한다. 자연스러운 쉘 웹层 그것이 허용되는 경우 플랫폼에서. Capacitor와 Electron 애플리케이션은 자바스크립트, CSS, 자산을 네이티브 기능성으로 분리하여, 새로운 스토어 바이너리가 필요하지 않는 배포 경로를 만드는 것이 가능하다.

https://capgo.app에서 스크린샷

Capgo와 같은 라이브 업데이트 플랫폼은 Capgo CapacitorJS 및 Electron 애플리케이션에 대한 대상 채널로 서명된 웹 번들을 게시할 수 있다. 그 워크플로우에서, 팀은 CI에서 번들을 빌드하고 테스트하고, 품질 게이트를 적용하고, 아티팩트를 기록한다. 배포 단계는 스테이징 또는 프로덕션과 같은 채널로 APPROVED 번들을 전송하고, 설치된 애플리케이션은 다음 런칭 시 업데이트를 적용한다.

이것은 CD의 핵심 원칙을 보존한다. 앱은 임의의 엔드포인트에서 다운로드하는 미검증된 소스를 받지 않는다. 팀은 버전화된 아티팩트, 제어된 관객, 업데이트의 가시성, 그리고 복구 계획을 가지고 있다.

모바일 pipeline은 추가 게이트가 필요하다.

실용적인 크로스 플랫폼 pipeline은 애플리케이션 동작 외에도 더 많은 것을 검증해야 한다.

  • 플랫폼 호환성: 대상 앱 버전에 이미 설치된 네이티브 런타임과 호환되는 배ंडल이 잘 작동하는지 확인합니다.
  • 서명 및 무결성: 게시된 업데이트가 서명되어 있고 클라이언트가만 유효한 배ंडल만 받아들이는지 확인합니다.
  • 채널 목표: 개발, 스테이징, 그리고 프로덕션으로 승격할 수 있으며 사용자 그룹을 섞지 않습니다.
  • 시작 시 복구: 업데이트가 실패하면 거부하거나 롤백하여 애플리케이션 사용이 불가능하지 않도록 합니다.
  • 네이티브 경계 검사: 네이티브 플러그인 또는 권한 변경이 필요한 웹层 변경을 새로운 바이너리 릴리스에 포함시키도록 차단합니다.

차등 업데이트는 변경된 파일만 게시하여 데이터 전송량을 줄일 수 있습니다. 또한 대상된 롤아웃은 팀이 변경을 제어된 사용자에게 노출시키기 전에 더 넓은 채택으로 확장할 수 있도록 합니다. 이 제어는 테스트 대체하지 않으며 스토어 정책이나 네이티브 호환성 요구 사항을 무시하는 이유가 될 수 없습니다.

다음 워크플로우는 CD가 신뢰할 수 있는 유효성 검사 단계를 제거하지 않고 Capacitor 배포 워크플로우에 라이브 업데이트를 통합하는 방법을 보여줍니다.

The important design decision is to define what can ship as a web bundle and what requires a native release. UI changes, copy, JavaScript logic, and compatible assets may follow the faster path. Changes to native code, permissions, plugins, or platform entitlements need the slower, store-mediated path. Treating those as separate release classes keeps the pipeline fast without pretending that mobile platforms have no external controls.

규제 팀은 일반적으로 지연된 릴리스를 느린 릴리스로 비난하지만 더 깊은 문제는 일반적으로 수동적 규제 작업, 분리된 문서화 및 약한 감사 기록이다.

릴리스가 시스템 간에 증거를 복사하는 사람에 의존하는 경우에는 자동화된 테스트가 뛰어난 애플리케이션을 가지고 있어도 릴리스가 느려질 것이다.

지속적인 배포는 팀이 pipeline에 요구 사항을 인코딩함으로써 제어를 개선할 수 있다. 품질 게이트는 승인된 테스트, 서명된 아티팩트, 문서화된 변경 참조 또는 검토를 요구할 수 있다. pipeline은 결과를 자동으로 유지할 수 있으므로 감사자 및 운영자에게 일관된 기록을 제공할 수 있다.

2025년 50개 금융 기관을 조사한 보고서 자동화된 지속적인 배포 pipeline은 안정성을 증가시키면서도 처리량을 향상시킬 수 있으며, 보고서는 지속적인 배포가 속도 대신 안전성을 희생해야 한다는 가정에 도전한다. 자동화는 제어를 반복할 수 있다.

A

수동 배포 절차는 변동성을 발생시킨다. 한 엔지니어는 체크리스트를 올바르게 실행할 수 있지만 다른 엔지니어는 마이그레이션 체크를 놓치거나 잘못된 아티팩트를 배포할 수 있다. 자동화는 책임을 없애지 않지만 예상 절차를 실행하고 검토할 수 있도록 한다.

규제 pipeline는 이러한 제어를 표시해야 한다:

  • 변경 식별자: 릴리즈를 소스 리비전, 아티팩트, 티켓, 승인 역할과 연결시킨다.
  • 품질 증거: 테스트 결과와 게이트 결과를 릴리즈 기록과 함께 저장한다.
  • 승인 경계: 개발, 스테이징, 운영 권한을 분리한다.
  • 롤백 준비: 이전 알려진 좋은 버전을 유지하고 회복 테스트를 가능하게 한다.
  • 운영 신호: 릴리즈 후 에러, 가용성, 업데이트 실패, 배포 결과를 모니터한다.

속도는 문제가 아닙니다. 관찰 가능성, 롤백 기능, 변경 추적이 없는 배포가 문제입니다. 느린 수동 프로세스도 테스트되지 않은 변경 또는 잘못 구성된 변경을 배포할 수 있습니다. 반면 자동화된 프로세스는 항상 배포 전에 차단할 수 있습니다.

핀테크 또는 의료 분야의 모바일 팀에게 지속적인 배포는 자동화된 번들 PIPELINE과 문서화된 승인 게이트를 의미할 수 있습니다. 여전히 주된 이점을 제공합니다. 배포 준비가 항상 가능하며 조직이 필요로 하는 위험 모델을 제거하지 않도록 강요하지 않습니다. 위험 요건을 충족하는 팀은 Capacitor 애플리케이션의 규제 준수 고려 사항을 배포 설계에 사용할 수 있습니다.

증거, 제어된 노출, 그리고 복구에서 안전성이 나옵니다. 모든 배포를 수동으로 만들면 안전성이 나옵니다.

implementation 단계와 피할 수 있는 일반적인 함정

팀이 이미 따르는 경로에서 시작하고 수동 전달을 하나씩 제거하세요.

  1. 버전 제어 하에 code, 테스트, 구성, PIPELINE 정의를 두세요. 배포 후보가 명확한 branching 모델을 선택하세요.
  2. 빌드 및 테스트 단계를 자동화하세요. 단위 테스트, 통합 테스트, 그리고 수락 테스트를 깨끗한 환경에서 실행하세요. 그 다음에 프로덕션 승인 자동화하기 전에.
  3. explicit quality 게이트를 정의하세요. pipeline에서 실패하는 항목을 정의하고, 실패하지 않아야 하는 항목을 정의하세요.
  4. 변경되지 않는 artifact를 저장하세요. 유효성 검사를 통과한 artifact를 환경에 따라 다시 빌드하지 않고 환경에 맞게 배포하세요.
  5. 배포와 롤백을 자동화하세요. 릴리즈가 실패하면 명확한 복구 동작을 트리거하세요. 즉,緊急 수동 조사 대신.
  6. 관찰성과 지표를 시작부터 제공하세요. 배포 빈도, 리드 타임, 변경 실패율, 서비스 복구까지 평균 시간을 추적하세요.

일반적인 실패는 예측 가능합니다. 팀은 테스트 커버리지가 개선되기 전에 릴리즈 스케줄링을 자동화하고, 승인 큐를 영구적으로 열어두고, 프로덕션과 유사하지 않은 환경으로 배포하거나, 배포 빈도만 측정하는 경우가 많습니다. 기능 플래그는 배포와 사용자 노출을 분리할 수 있지만, 테스트되지 않은 code 또는 플래그 정리와 같은 것을 무시할 수는 없습니다.

모바일 및 크로스 플랫폼 앱의 경우, 네이티브 및 웹 릴리즈 경계를 정의하고, 라이브 업데이트 경로를 선택하기 전에 해야 합니다. 배포 pipeline은 네이티브 기능이 필요한 변경을 거부해야 하며, 호환되는 자바스크립트, CSS, 복사본, 구성, 및 자산은 자동화된 경로를 따라야 합니다.


Capgo은 CapacitorJS 및 Electron 앱에 대한 서명된 라이브 업데이트, 대상 채널, CI/CD 통합, 차등 배포, 관찰성, 롤백 보호를 제공하여, 스토어 리뷰를 단독 배포 경로로 간주하지 않고, 적격한 모바일 변경을 릴리즈-준비 상태로 유지하는 데 도움이 됩니다. Visit Capgo Capgo에 PR을 제출하세요.

실시간 업데이트 Capacitor 앱

웹-layer 버그가 실시간으로 활성화되면 Capgo을 통해修정을 배포할 수 있으며 앱 스토어 승인 대기 없이 바로 업데이트 할 수 있습니다. 사용자는 배경에서 업데이트를 받으며 네이티브 변경 사항은 정상적인 검토 경로를 유지합니다.

__CAPGO_KEEP_0__에서 Martin의 인간 지원

시작하기

최신 블로그 게시물

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