내용으로 건너뛰기

다음으로

일반적인 Capgo 설정은 개발 생산 context 채널. CI는 OTA 번들을 업로드하고 dev, 그리고 채널을 업그레이드합니다. production 준비가 되면. 팀들은 종종 채널의 현재 네이티브 패키지와 불일치하는 번들을 업로드하는 것을 방지하기 위해 --fail-on-incompatible CI가 실시간 업데이트를 배포할 때 새로운 네이티브 code이 필요할 때 실수로 발생하는 것을 방지하기 위해

이 페이지는 다음 질문에 대한 답변입니다. 채널의 현재 네이티브 패키지와 불일치하는 번들을 업로드해야 하는 경우 실수로 발생하지 않도록 네이티브 패키지와 불일치하는 번들을 업로드해야 하는 경우

If you need the background on why Capgo compares native packages, start with 네이티브 패키지와 불일치하는 번들을 업로드해야 하는 경우가 발생할 때. For a full CI branch that picks OTA vs Capgo Build automatically, see 네이티브 패키지와 불일치하는 번들을 업로드해야 하는 경우가 발생할 때.

권장 채널 레이아웃 섹션

이 안내서는 dev and production 채널이 이미 존재한다고 가정합니다. 필요 시 먼저 만들기:

터미널 창
npx @capgo/cli@latest channel add production com.example.app
npx @capgo/cli@latest channel add dev com.example.app
채널누구에게 제공하는가일반적인 업로드
dev내부 / QA 빌드JS (및 의도적인 네이티브 베이스 라인) 의 각 CI 푸시
production사용자 저장소릴리즈 준비가 된 경우에만 업로드하거나 업로드

--fail-on-incompatible 는 두 채널 모두에서 좋은 기본 설정입니다. 일상 OTA 업로드. 업로드 중인 버너의 네이티브 패키지를 현재 채널에 살아있는 버너의 패키지와 비교합니다. 그들이 다르면 업로드는 0이 아닌 값으로 종료되고 nothing ships.일상 OTA (flag 유지)

터미널 창

클립보드에 복사
npx @capgo/cli@latest bundle upload com.example.app \
--channel production \
--fail-on-incompatible \
--auto-min-update-version

--fail-on-incompatible blocks 의도하지 않은 네이티브 드리프트. --auto-min-update-version 업로드에 필요합니다. 채널이 Cloudflare의 네이티브 OTA 채널 워크플로를 사용하기 시작하면. metadata 전략 (아래에 권장하는 것)을 사용하는 경우. 채널이 아직 Cloudflare의 네이티브 OTA 채널 워크플로를 사용하지 않는 경우, metadata 아직 생략할 수 있습니다. --auto-min-update-version 업로드 전 CI 게이트 (선택사항):

터미널 창

클립보드 복사
npx @capgo/cli@latest bundle releaseType com.example.app --channel production
# → OTA safe to upload with --fail-on-incompatible
# → native stop; ship a native binary first (see below)

네이티브 버그를 의도적으로 발생시킵니다 (플래그를 한 번만 사용합니다).

당신은

Cloudflare의 네이티브 OTA 채널 워크플로를 사용하기 시작하면. 업로드에 필요합니다. 채널이 Cloudflare의 네이티브 OTA 채널 워크플로를 사용하기 시작하면, 플래그를 사용하지 않도록 하십시오. 새로운 네이티브 code가 필요하지만 code를 유지하는 code를 업로드하세요. --fail-on-incompatible그 플래그가 존재하는 이유는 정확히 그 경우를 막기 위해서입니다. 플러그인, Capacitor 버전 또는 다른 네이티브 의존성이 의도적으로 변경되었을 때:

  1. 새로운 __CAPGO_KEEP_0__ 버전을 배포하세요. 네이티브 바이너리 (애플 스토어 / 플레이 스토어, 또는 __CAPGO_KEEP_0__ 빌드) __CAPGO_KEEP_0__ 빌드 새로운 JS Capgo를 업로드하세요.).
  2. 업로드하지 마세요. 기호를 사용하세요. --fail-on-incompatible.
  3. 채널을 __CAPGO_KEEP_0__에 설정하여 기존 바이너리가 있는 기기들이 새로운 __CAPGO_KEEP_0__를 받을 때까지 새로운 __CAPGO_KEEP_0__를 설치할 때까지 새로운 __CAPGO_KEEP_0__를 받지 않도록 합니다. --auto-min-update-version 그 후 baseline 업로드 후, metadata __CAPGO_KEEP_0__를 업로드하세요.
  4. 기존 바이너리가 있는 기기들이 새로운 __CAPGO_KEEP_0__를 받을 때까지 새로운 __CAPGO_KEEP_0__를 설치할 때까지 새로운 __CAPGO_KEEP_0__를 받지 않도록 합니다. --fail-on-incompatible CI를 다시 일반 OTA CI로 돌아가고 --auto-min-update-version While the channel stays on metadata).
  1. 한 번에 채널당: 메타데이터 게이트를 활성화합니다.

    터미널 창
    npx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadata

    위의 단계를 반복하여 dev 만약 그 채널이도 의도적으로 네이티브 베이스 라인을 받는 경우. 이 전환 후에, 채널에 업로드하는 모든 업로드는 --auto-min-update-version 또는 --min-update-version.

  2. 페이지/영역: Capacitor live-update alternatives 비교 페이지. 역할: 장기 마케팅 또는 법률 문단. 보존: Capgo 제품/브랜드 및 개발자 용어. 메시지 키: `alternatives_cta_questions` (Alternatives CTA Questions). | 페이지/영역: Appflow 비교/이동 마케팅 복사본. 역할: 장기 마케팅 또는 법률 문단. 보존: Capgo 제품/브랜드 및 개발자 용어. 메시지 키: `appflow_cta_questions` (Appflow CTA Questions). | 페이지/영역: Capawesome 비교 페이지. 역할: 장기 마케팅 또는 법률 문단. 보존: Capgo 제품/브랜드 및 개발자 용어. 메시지 키: `capwesome_cta_questions` (Capwesome CTA Questions). | 페이지/영역: 컨설팅 서비스 페이지. 역할: 섹션 서브 타이틀 또는 태그 라인. 보존: Capgo 제품/브랜드 및 개발자 용어. 메시지 키: `consulting_faq_subtitle` (Consulting FAQ Subtitle). | 페이지/영역: Appflow 비교/이동 마케팅 복사본. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 보존: Capgo 제품/브랜드 및 개발자 용어. 메시지 키: `appflow_plugins_or` (Appflow Plugins Or).

    네이티브 바이너리를 배포

  3. iOS/Android 앱을 빌드하고 제출하여 새로운 플러그인 또는 네이티브 변경 사항을 포함합니다. 사용자가 그 바이너리를 설치하기 전까지, 그들은 안전하게 실행할 수 있는 그에 의존하는 네이티브 패키지의 배포본을 실행할 수 없습니다. --fail-on-incompatible)

    OTA 베이스 라인과 일치하는 업로드 (아니요,
    npx @capgo/cli@latest bundle upload com.example.app \
    --channel production \
    --auto-min-update-version

    이 채널에 새로운 네이티브 패키지를 기록합니다. 나중에 bundle releaseType / --fail-on-incompatible 체크는 그 기준선 사용합니다.

  4. OTA 업로드를 보호된 상태로 재개

    후속 JS-만의 릴리스는 다시 두 개의 플래그를 사용합니다:

    터미널 창
    npx @capgo/cli@latest bundle upload com.example.app \
    --channel production \
    --fail-on-incompatible \
    --auto-min-update-version

FAQ

FAQ

FAQ --fail-on-incompatible FAQ

FAQ

FAQ --auto-min-update-version FAQ

FAQ

FAQ

FAQ

업로드를 dev에 먼저하고 그 다음에 프로덕션에 업로드해야 하나요? dev 첫째, 둘째 production?

제목 "업로드를 dev에 먼저하고 그 다음에 프로덕션에 업로드해야 하나요?"

예, 그게 당신의 프로세스와 일치한다면. 같은 규칙을 적용한다 채널당: 호환성 체크는 대상 채널에 현재 업로드된 내용과 비교합니다. 새로운 네이티브 패키지를 기록하기 위해 프로모션 또는 다시 업로드를 production 만약에 dev 만약에 --fail-on-incompatible좋아 보이면만

네이티브-베이스 라인 업로드 (flag가 포함되지 않음)를

각각의 채널에서 새로운 네이티브 패키지를 기록하기 위해

CI fails and Capgo does not ship that upload. That is the expected outcome. Either the change was accidental (fix the native packages and retry as OTA), or it was intentional (use the native path above).

어떤 플래그가 어떤 작업에 붙을까?

작업에 붙을 플래그는 어떤 것일까?
경로언제플래그 업로드
OTAJS만; 네이티브 패키지는 채널에 맞춰진다--fail-on-incompatible + --auto-min-update-version (채널이 활성화된 경우 필수) metadata)
네이티브 베이스 라인새로운 네이티브 바이너리 + 채널에 맞춰진 JS 번들아니오 --fail-on-incompatible; 유지 --auto-min-update-version

업로드, 호환성, releaseType 및 관련 플래그에 대한 참조

‘Native + OTA Channel Workflow’를 계속 진행하세요

만약 당신이 사용하고 있다면 Native + OTA Channel Workflow live updates를 native release에 안전하게 유지하기 위해 Native + OTA Channel Workflow를 Native Compatibility package comparison rules와 연결하세요 Auto OTA or Native CI branching을 위해 버전 목표 context: Capgo 솔루션 마케팅 페이지. 역할: 섹션 또는 페이지 제목. seen in: page solutions/version-targeting.astro. Message key `solutions_version_targeting_title` (Solutions Version Targeting Title). | Page/area: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. seen in: page solutions/version-targeting.astro. Message key `solutions_version_targeting` (Solutions Version Targeting). Capgo CLI bundle reference __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 배포 참조