메인 콘텐츠로 바로가기

Capgo OTA 업데이트와 함께 SemVer를 사용하는 방법

Capacitor 앱에 대한 Capgo의 OTA 업데이트를 사용하여 SemVer를 사용하여 앱 업데이트와 버전 관리를 단순화하세요.

마틴 도나디유

마틴 도나디유

콘텐츠 마케터

Capgo OTA 업데이트와 함께 SemVer를 사용하는 방법

SemVer를 사용하여 앱 업데이트와 버전 관리를 단순화하고 싶으신가요? 앱 업데이트 버전 관리 SemVer (SemVer) __CAPGO_KEEP_0__ Capgo’s Over-The-Air (OTA) 업데이트로 앱 관리가 더 쉽고 빠르다. 그 방법은 다음과 같다. Capacitor 버전은 다음 형식으로 사용된다.

  • MAJOR: 새로운 기능이 backward-compatible일 때. MAJOR.MINOR.PATCH:

    • MINOR: BREAKING CHANGES가 있을 때.
    • PATCH: 픽스(수정) 버전.
    • __CAPGO_KEEP_0__ For bug fixes.
  • Capgo을 사용하는 이유는 무엇인가요?

    • 업데이트에 대한 명확한 의사소통.
    • 버전 관리를 더 똑똑하게.
    • 의존성 충돌을 피하기 위해.
    • 릴리즈 계획을 조직화.
  • Capgo 설정 단계:

    1. Capgo 업데이터 플러그인을 설치합니다.
    2. 앱의 버전을 capacitor.config.json 파일과 같은 다른 파일에서 구성합니다.
    3. API 키와 함께 초기화합니다.
    4. 사용 Capgo CLI 업데이트를 패키징하고 업로드하는 데 사용합니다.
  • 버전 및 채널 관리:

    • 분리된 채널 (예: 테스트를위한 "beta", 안정적인 릴리스를위한 "production")을 사용하여.
    • 업데이트 정책을 제어 (패치 자동 업데이트, 주요 변경 사항에 대한 수동 승인).
    • 실패한 업데이트에 대한 롤백 옵션.
  • 배포 프로세스:

    • SemVer 규칙에 따라 버전 번호를 업데이트합니다.
    • 배포하기 전에 철저히 테스트합니다.
    • CLI 명령을 사용하여 업데이트를 업로드하고 배포합니다.

Capgo는 업데이트가 사용자에게 신속하고 신뢰할 수 있게 도달하고, 장애를 처리하고 안정성을 유지하는 데 필요한 도구를 제공합니다. CI/CD 워크플로우를 사용하여 업데이트를 자동화하는 팀에게 이상적입니다.

Quick Tip: 업데이트를 항상 테스트하고 채널을 사용하여 스테이지 롤아웃을 효과적으로 관리하세요.

Semantic Versioning | Level Up

Capgo 설치 가이드

Capgo Live Update Dashboard Interface

Capgo를 사용하여 OTA 업데이트와 버전 관리를 쉽게 관리하는 방법입니다.

초기 설정 단계

먼저 Capgo 업데이터 플러그인을 설치하세요.:

npm install @capgo/capacitor-updater  
npx cap sync

업데이터 플러그인이 설치되어 있는지 확인하세요. capacitor.config.json 파일은 의미적 버전 형식으로 사용합니다:

{ 
  "appId": "com.example.app", 
  "appName": "My App", 
  "version": "1.0.0" 
}

오래된 프로젝트의 경우 버전 상세 정보를 다음 위치에서 업데이트하십시오:

  • package.json (버전 정보를 찾으십시오) version (업데이트)
  • android/app/build.gradle (업데이트) versionName)
  • ios/App/App.xcodeproj/project.pbxproj 설정 후 __CAPGO_KEEP_0__에 __CAPGO_KEEP_1__ 키를 초기화하십시오: CURRENT_PROJECT_VERSION)

Once configured, initialize Capgo with your API key:

npx @capgo/cli@latest init YOUR_API_KEY

설정 단계

키 동작 인증 단계 설치
Setup Phase 플러그인 설치 및 동기화 확인 package.json
설정 버전 번호 설정 모든 파일에서 확인
초기화 API 키와 연결 연결 상태 테스트
빌드 초기 번들 생성 업로드 성공 확인

버전 관리 통합

Capgo CI/CD 플랫폼과 잘 작동합니다. 자동 업데이트가 __CAPGO_KEEP_0__ CI/CD 플랫폼 지원 목록입니다.

개발 환경에서 작업 중이라면, 로컬 변경 사항이 덮어씌워지지 않도록 자동 업데이트를 비활성화하려면 다음을 설정하세요.

{ 
  "plugins": { 
    "CapacitorUpdater": { 
      "autoUpdate": false 
    } 
  } 
}

Capgo가 로컬 변경 사항을 덮어씌우지 않도록 보장합니다. 설정이 준비되면 첫 번째 버전을 업로드하세요.

npx @capgo/cli@latest bundle upload  
npx @capgo/cli@latest channel set production -s default

__CAPGO_KEEP_0__의 배포 상태를 앱의 메인 파일에서 알립니다.

import { CapacitorUpdater } from '@capgo/capacitor-updater';  
CapacitorUpdater.notifyAppReady();

이 설정은 OTA 배포 및 버전 관리를 위한 앱이 smooth하게 준비되어 있습니다.

Semantic 버전 관리와 Capgo

버전 번호 관리

Capgo은 Semantic 버전 관리 (SemVer)를 사용하여 앱 버전을 관리합니다. 버전 형식은 다음과 같습니다. MAJOR.MINOR.PATCH. 다음은 버전 관리의 방법입니다:

  • 주 버전 (X.0.0): 호환성에 영향을 주는 변경 사항이 있을 때 MAJOR 숫자를 증가시킵니다.
  • 부 버전 (1.X.0): 호환성에 영향을 주지 않는 새로운 기능이 있을 때 MINOR 숫자를 증가시킵니다.
  • 패치 버전 (1.0.X): 호환성에 영향을 주지 않는 버그 수정이 있을 때 PATCH 숫자를 증가시킵니다.
버전 종류 업데이트할 때 자동 업데이트 동작
주 버전 (X.0.0) 파괴적인 API 변경 사항 수동 승인 필요
소 버전 (1.X.0) 새로운 기능 Capgo에서 설정 가능
패치 버전 (1.0.X) 버그 수정 일반적으로 자동

SemVer 규칙을 따르면 버전 관리를 단순화하고 배포 채널 간 업데이트가 smoother하게 진행되도록 할 수 있습니다.

__CAPGO_KEEP_0__

Capgo을 사용하여 Capgo 배포를 효과적으로 관리하기 위해 Capgo 워크플로우의 다양한 단계에 대한 별도의 채널을 설정할 수 있습니다.

  • __CAPGO_KEEP_0__ 버전 관리__CAPGO_KEEP_0__ 배포 프로세스를 조직하기 위해 테스트 및 프로덕션과 같은 다양한 단계에 대한 별도의 채널을 생성하세요. 예를 들어:

    • : 테스트 중인 새로운 기능을 위한 “beta” 채널 (예: 1.2.0-beta)을 사용하세요.
    • : 안정적인 릴리스를 위한 “production” 채널 (예: 1.2.0)을 유지하세요.
    • : 플랫폼별 문제를 해결할 때 플랫폼별 채널 (예: “ios-hotfix” 버전 1.2.1)을 추가하세요.
  • __CAPGO_KEEP_0__ 업데이트 정책 구성Capgo’s 구성 옵션을 사용하여 업데이트가 적용되는 방식을 제어하세요. 예를 들어:

    {
      "plugins": {
        "CapacitorUpdater": {
          "disableAutoUpdate": "minor"
        }
      }
    }

    : 사용자가 자동으로 패치 업데이트를 받게 하며, 주요 및 주요 업데이트는 수동 승인 필요하도록 설정합니다.

  • __CAPGO_KEEP_0__ 버전 롤백 전략__CAPGO_KEEP_0__를 사용하여 이전 버전으로 롤백할 수 있는 명확한 롤백 옵션을 유지하세요. 이 방법은 문제가 발생할 경우 이전 버전으로 롤백할 수 있도록 하며, 모든 채널에서 버전 관리를 일관되게 유지할 수 있습니다.

업데이트 관리, 새로운 기능 테스트 및 앱 배포 프로세스의 안정성을 유지하기 위해 더 쉽게 관리할 수 있는 이最佳 관행을 따르세요.

sbb-itb-f9944d2

OTA 업데이트 배포

버전 관리 설정이 준비되면 OTA 업데이트 배포를 효과적으로 수행하기 위해 다음 단계를 따르세요.

업데이트 준비

버전을 package.jsoncapacitor.config.json에서 업데이트하세요. 버전은 SemVer 형식 (MAJOR.MINOR.PATCH)을 따르세요:

  • 버그 수정: PATCH 번호를 증가시켜 (예: 1.0.1 → 1.0.2)
  • New Feature: MINOR 버전 번호를 증가시킵니다 (예: 1.0.0 → 1.1.0)
  • Breaking Change: MAJOR 버전 번호를 증가시킵니다 (예: 1.0.0 → 2.0.0)

Thoroughly test your build and confirm the app communicates with the server using notifyAppReady.

Next, decide on your update strategy. You can choose from:

  • Auto-Update: 최소 버전 요구 사항을 자동으로 강제합니다.
  • Manual Control: 업데이트 시 정확한 버전 요구 사항을 지정합니다.
  • 채널 기반: 테스트 및 스테이지 롤아웃을 위해 채널을 사용하세요.

Capgo CLI 업데이트 명령

Capgo의 CLI을 사용하여 업데이트를 쉽게 배포하세요. 여기서 어떻게 하는지 설명해 드리겠습니다.

# Initialize Capgo in your project
npx @capgo/cli@latest init [apikey]

# Upload your update bundle
npx @capgo/cli bundle upload [appId]

# Add a new distribution channel
npx @capgo/cli channel add [channelName] [appId]

Capgo은 종단 간 암호화 및 안전한 키 관리를 통해 안전한 배포를 보장합니다.

“@Capgo은 @AppFlow와 달리 모든 돈을 мира에 있는 것처럼热 code 푸시를 만드는 지혜로운 방법입니다 🙂”

배포된 후, Capgo의 대시보드를 통해 업데이트를 모니터링할 수 있습니다. 업데이트는 사용자가 앱을 열 때 일반적으로 몇 분 안에 사용자에게 도달합니다. 이 과정을 보시겠습니다:

  • 앱이 업데이트를 확인합니다.
  • 배경에서 업데이트를 다운로드합니다.
  • 사용자가 앱을 종료할 때 새로운 버전을 활성화합니다.
  • 다음으로 앱을 실행할 때 업데이트를 적용합니다.

기업급 배포에 대해서는 CI/CD 자동화 통합을 고려해 보세요.

“개발에 지속적인 전달을 위해 @Capgo는 미션 크리티컬입니다!”

문제 해결 및 팁

버전 관리 문제

Capgo에서 의미론적 버전 관리를 관리하는 것은 업데이트를 배포하는 데 복잡성을 일으킬 수 있습니다. 개발 작업을 덮어쓰지 않도록 하려면, 개발 중에 다음을 구성하세요. capacitor.config.json 파일:

{ 
  "plugins": { 
    "CapacitorUpdater": { 
      "autoUpdate": false 
    } 
  } 
}

업데이트가 실패하면 다음을 할 수 있습니다:

  • 개발 중에 autoUpdate 앱을 제거합니다. false 수정된 버전으로 다시 설치합니다.
  • 모든 것이 안정되면 다시 자동 업데이트를 활성화합니다.
  • 설정
  • 업데이트 중

For major version updates, use the disableAutoUpdateBreaking flag and listen for the majorAvailable event to handle updates properly:

CapacitorUpdater.addListener('majorAvailable', (info) => {
  console.log(`Major update available: ${info.version}`);
  // Add your update prompt logic here
});

By combining these configurations with good team practices, you can maintain version consistency and reduce errors.

팀 버전 관리

개별 업데이트가 관리되면 팀은 강력한 버전 관리 관행을establish해야합니다.

“메인 저장소와 병합하기 전에 각 변경 사항을 테스트하여 안정성을 강화하고 비용이 많이 드는 오류를 피할 수 있습니다” [4]

버전 일관성을 유지하고 오류를 줄이기 위해 다음 방법들을 사용하세요.

  • __CAPGO_KEEP_0__을 사용하여 하나의 branch를 메인 저장소로 정의하여 truth의 원천으로 사용하세요. 개발 및 운영 환경을 위한 별도의 __CAPGO_KEEP_0__ 채널을 사용하세요. __CAPGO_KEEP_0__
  • Capgo
  • CI/CD PIPELINE을 통해 버전 업로드를 자동화하세요.
  • code의 모든 변경 사항은 명확하고 자세한 커밋 메시지와 함께 문서화하세요.

대규모 팀의 경우 다음 버전 관리 매트릭스를 업데이트를 조직하는 데 도움이 될 수 있습니다.

환경 채널 자동 업데이트 버전 패턴
개발 dev 비활성화 0.x.x
스테이징 beta 활성화 x.x.x-beta
운영 안정 활성화 x.x.x

업데이트 복구 단계

주의에도 불구하고 업데이트가 실패할 수 있습니다. 그럴 경우 다음 복구 단계를 따르세요:

  1. 이전 안정 버전으로 롤백하세요.
  2. 새로운 수정 사항에 대한 버전 번호를 증가시키세요 (주의: 삭제된 버전 번호는 재사용할 수 없습니다) [2].
  3. 앱 시작 시 업데이트를 확인하여 올바르게 작동하는지 확인하세요.

Capgo의 업데이터는 장애를 처리하기 위해 설계되었습니다. 예를 들어, 서버가 연결되지 않거나 업데이트가 삭제되는 경우 앱은 정상적으로 작동합니다. [3]또한, 실패한 네트워크 요청은 다음 앱 시작 시 자동으로 다시 시도됩니다. [3]이 내장된 내구성은 다운타임을 최소화하고 smoother한 운영을 보장합니다.

요약

Semantic Versioning과 Capgo의 combination은 Capacitor 앱의 OTA 업데이트를 더 효율적으로 만들었습니다. 947.6 백만 업데이트가 전달되었으며 1,400 개의 생산 앱이 이 시스템을 사용하여 [1]배포 프로세스는 81% 더 효율적으로 작동했습니다. [1]이 설정은 개발자들이 업데이트를 빠르게하고 제어된 방식으로 푸시할 수 있으며 앱 스토어 지연을 피할 수 있습니다.

개발자들이 말하는 것:

“우리는 +5000 명의 사용자 기반에 대해 __CAPGO_KEEP_0__ OTA 업데이트를 프로덕션에서 배포했습니다. 거의 모든 사용자가 업데이트가 배포된 후 몇 분 안에 업데이트가 된 것을 보았습니다. @__CAPGO_KEEP_0__.” - colenso Capgo OTA updates in production for our user base of +5000. We’re seeing very smooth operation almost all our users are upto date within minutes of the OTA being deployed to @Capgo.” - colenso [1]

Semantic Versioning, combined with __CAPGO_KEEP_0__, has made OTA updates for __CAPGO_KEEP_1__ apps more efficient. [5]. 이 기능은 주당 여러 개의 릴리스를 관리하는 팀에게 특히 유용합니다. Capgo 플랫폼을 통해.

Capgo의 암호화된 솔루션, CI/CD 도구와 통합되어 예산에 부담이 되지 않습니다. 5년 동안 26,100 달러의 비용을 절감합니다. [1]. 사용자에게 정확한 시간에 업데이트 도달을 보장하는 사용자 지정 채널을 제공합니다.

“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!” - Rodrigo Mantica [1]

Rodrigo Mantica는 다음과 같이 말했습니다. '우리는 애그일 개발을 실천하고 @Capgo은 사용자에게 지속적으로 제공하는 mission-critical입니다!'

How to Use Semantic Versioning with __CAPGO_KEEP_0__ OTA Updates Semantic Versioning을 사용하여 Capgo OTA 업데이트와 함께 사용하는 방법 버전 제어 및 롤백 계획을 위해 사용하는 경우 Rollbacks Rollbacks 버전 목표 설정 버전 목표 설정 구현 세부 사항에 대해 업데이트 동작 업데이트 동작 구현 세부 사항에 대해 번들 번들 구현 세부 사항에 대해, 그리고 Capgo 라이브 업데이트 Capgo 라이브 업데이트 제품 워크플로에 대해.

Capacitor 앱에 대한 실시간 업데이트

웹层 버그가 활성화된 경우, 앱 스토어 승인 대기 없이 Capgo를 통해 패치를 배포하세요. 사용자는 배경에서 업데이트를 받으며, 네이티브 변경은 일반적인 검토 경로에 남아 있습니다.

시작하기

블로그에서 최신 뉴스

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