본문으로 바로가기

Semantic Versioning을 사용하는 Capgo OTA 업데이트의 방법

Learn how to streamline app updates and version control using Semantic Versioning with Capgo's OTA updates for Capacitor apps.

마틴 도나디유

마틴 도나디유

컨텐츠 마케터

Capgo OTA 업데이트와 함께 세미나 버전 관리

업데이트와 버전 관리를 단순화하고 싶으신가요? 앱 업데이트와 버전 관리 세미나 버전 관리 (SemVer) __CAPGO_KEEP_0__ 의 오버 더 에어 (OTA) 업데이트와 함께 Capgo앱을 더 쉽고 빠르게 관리할 수 있습니다. 여기서부터 시작하세요. Capacitor __CAPGO_KEEP_0__

  • 업데이트 __CAPGO_KEEP_0__ 버전은 다음 형식으로 사용됩니다. MAJOR.MINOR.PATCH:

    • MAJOR: __CAPGO_KEEP_0__에서 중요한 변경 사항이 있을 때 사용합니다.
    • MINOR: __CAPGO_KEEP_0__에서 새로운 기능이 뒤따르는 호환성 있는 기능일 때 사용합니다.
    • PATCH: __CAPGO_KEEP_0__에서 버그 수정을 위해 사용합니다.
  • Capgo에서 SemVer를 사용하는 이유는 무엇인가요?

    • 업데이트에 대한 명확한 통신.
    • __CAPGO_KEEP_0__ 버전 관리를 더 똑똑하게 관리합니다.
    • 의존성 충돌을 피합니다.
    • 릴리즈 계획을 조직화합니다.
  • Capgo 설정 Steps:

    1. Capgo 업데이터 플러그인을 설치합니다.
    2. 앱의 버전을 capacitor.config.json 및 다른 파일에서 설정합니다.
    3. API 키로 초기화합니다.
    4. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__을 사용하여 업데이트를 패키지하고 업로드합니다. Capgo CLI 분리된 채널을 사용합니다 (예: 테스트를 위해 'beta', 안정적인 릴리스를 위해 'production').
  • 업데이트 정책을 제어합니다 (패치 자동 업데이트, 주요 변경 사항에 대한 수동 승인).:

    • __CAPGO_KEEP_1__은 __CAPGO_KEEP_0__의 __CAPGO_KEEP_1__입니다.
    • __CAPGO_KEEP_0__ __CAPGO_KEEP_1__을 사용하여 업데이트를 패키지하고 업로드합니다.
    • __CAPGO_KEEP_0__
  • 배포 프로세스:

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

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

Quick Tip: 업데이트를 항상 테스트하고 채널을 사용하여 단계별 배포를 효과적으로 관리합니다.

Semantic Versioning | 레벨 업

Capgo 설치 가이드

Capgo Live Update Dashboard Interface

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

초기 설정 단계

__CAPGO_KEEP_0__ 업데이트러 플러그인을 설치하기 시작하세요. 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__ CURRENT_PROJECT_VERSION)

Capgo을 설정한 후, API 키와 함께 Capgo을 초기화하세요.

npx @capgo/cli@latest init YOUR_API_KEY

빠른 참조 표:

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

버전 관리 통합

Capgo은 CI/CD 플랫폼과 잘 작동하여 자동 업데이트가 쉽습니다. 지원되는 플랫폼은 다음과 같습니다:

개발 환경에서 작업 중이라면, 자동 업데이트 기능을 비활성화하려면 다음을 설정 파일에 추가하세요:

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

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

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

마지막으로 앱의 메인 파일에서 번들의 상태를 native 플러그인에 알리세요:

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

이 설정을 통해 앱이 OTA 배포 및 버전 관리를 위한 smooth한 준비가 됩니다.

Capgo에서 SemVer를 사용하는 방법

버전 번호 관리

Capgo는 SemVer를 사용하여 앱 버전을 관리하며, 형식은 다음과 같습니다: MAJOR.MINOR.PATCH. 이렇듯 버전 관리가 어떻게 작동하는지 설명해 드리겠습니다:

  • 주 버전 (X.0.0): __CAPGO_KEEP_0__ 버전을 업데이트하는 변경 사항이 호환성을 깨뜨릴 경우 MAJOR 숫자를 증가시킵니다.
  • 소수 버전 (1.X.0): 호환성을 유지하는 새로운 기능을 추가하는 경우 MINOR 숫자를 증가시킵니다.
  • 수정 버전 (1.0.X): 호환성을 깨뜨리지 않는 버그 수정을 위한 경우 PATCH 숫자를 증가시킵니다.
버전 종류업데이트할 때자동 업데이트 동작
주 버전 (X.0.0)호환성을 깨뜨리는 API 변경 사항을 위한수동 승인 필요
소수 버전 (1.X.0)새로운 기능을 위한Capgo에서 설정할 수 있습니다.
Patch (1.0.X)버그 수정을 위한일반적으로 자동입니다.

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

버전 관리 지침

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

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

    • : 테스트 중인 새로운 기능을 위한 “베타” 채널 (예: 1.2.0-beta)을 사용하세요.
    • 안정적인 릴리스를 위한 “프로덕션” 채널 (예: 1.2.0)을 유지하세요.
    • 플랫폼에 따라 특정 채널 (예: 버전 1.2.1의 “ios-hotfix”)을 추가하여 플랫폼에 특정 문제를 해결할 수 있습니다.
  • 정책 구성 업데이트Capgo의 구성 옵션을 사용하여 업데이트가 적용되는 방식을 제어합니다. 예를 들어:

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

    이 설정은 사용자가 자동으로 패치 업데이트를 받을 수 있게 하며, 미니어처 및 메이저 업데이트는 수동 승인 필요합니다.

  • 버전 롤백 전략이전 버전으로 롤백할 수 있도록 명확한 롤백 옵션을 유지하기 위해 프리 리리즈 식별자를 사용합니다. 이 방법은 문제가 발생할 경우 이전 버전으로 롤백할 수 있으면서 모든 채널에서 버전 관리가 일관되게 유지할 수 있습니다.

업데이트 관리, 새로운 기능 테스트 및 앱 배포 프로세스의 안정성을 유지하기 위해 업데이트를 관리하는 데 도움이 되는 이 베스트 프랙티스는 앱의 안정성을 유지하기 위해 업데이트를 관리하는 데 도움이 됩니다.

sbb-itb-f9944d2

OTA 업데이트 배포

버전 관리 설정이 준비되면 OTA 업데이트를 효과적으로 배포하기 위한 다음 단계를 따르십시오.

업데이트 준비

버전을 업데이트하기 시작하여: package.json 그리고 capacitor.config.json버전은 SemVer 형식 (MAJOR.MINOR.PATCH)을 따르도록 하세요.

  • 버그 수정: PATCH 번호를 증가시킵니다 (예: 1.0.1 → 1.0.2)
  • 새로운 기능: MINOR 번호를 증가시킵니다 (예: 1.0.0 → 1.1.0)
  • 파괴적인 변경: MAJOR 번호를 증가시킵니다 (예: 1.0.0 → 2.0.0)

앱이 서버와 통신하는 것을 확인하기 위해 빌드와 테스트를 철저히 하세요. notifyAppReady.

다음으로, 앱이 서버와 통신하는 것을 확인하기 위해 빌드와 테스트를 철저히 하세요. 업데이트 전략. 당신은 다음 중 하나를 선택할 수 있습니다:

  • 자동 업데이트: 업데이트에 대한 최소 버전 요구 사항을 강제합니다.
  • 수동 제어: 업데이트에 대한 정확한 버전 요구 사항을 지정합니다.
  • 채널 기반: 테스트 및 스테이지 롤아웃을 위해 채널을 사용합니다.

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와 달리 모든 돈을 위해 (hot code pushes) 🙂”

배포되면 Capgo의 대시보드를 통해 업데이트 모니터링이 가능합니다. 업데이트 일반적으로 사용자가 앱을 열 때 몇 분 안에 사용자에게 도달합니다. 업데이트 프로세스는 다음과 같습니다:

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

엔터프라이즈급 배포에 대해서는 CI/CD 자동화 통합을 고려해 보세요.

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

Agile 개발을 실천하고 있으며 @__CAPGO_KEEP_0__은 사용자에게 지속적으로 배포하는 mission-critical입니다!

문제 해결 및 팁

Managing semantic versioning in Capgo can sometimes complicate update deployments. To avoid overwriting your development work, configure the following in your capacitor.config.json __CAPGO_KEEP_0__에서 의미론적 버전 관리를 관리할 때 업데이트 배포가 복잡해질 수 있습니다. 개발 작업을 덮어쓰지 않도록 하려면, 다음을 파일에 구성하세요:

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

파일: __CAPGO_KEEP_0__에서 업데이트 실패 시, 다음을 할 수 있습니다:

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

주 버전 업데이트를 위해 disableAutoUpdateBreaking 이벤트를 처리하기 위해 majorAvailable 이러한 설정을 팀의 좋은 관행과 combination하면 버전 일관성 유지 및 오류를 줄일 수 있습니다.

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

팀 버전 관리

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

주 버전 업데이트를 위해

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

일관성을 보장하기 위한 방법은 다음과 같습니다.

  • 하나의 branch를 메인 저장소로 정의하여 참조 자료로 사용합니다. 개발 및 운영 환경을 위한 별도의 __CAPGO_KEEP_0__ 채널을 사용합니다. CI/CD pipeline을 통해 버전 업로드를 자동화합니다.
  • 명확하고 자세한 커밋 메시지로 모든 Capgo 변경 사항을 문서화합니다.
  • 대형 팀의 경우 다음 버전 관리 매트릭스는 업데이트를 조직하는 데 도움이 될 수 있습니다.
  • Document all code changes with clear and detailed commit messages.

채널

자동 업데이트__CAPGO_KEEP_0____CAPGO_KEEP_0__버전 패턴
개발dev비활성화0.x.x
스테이징beta활성화x.x.x-beta
프로덕션stable활성화1.1.1

업데이트 복구 단계

업데이트에 대한 예방 조치에도 불구하고 업데이트가 실패할 수 있습니다. 그럴 경우, 다음 복구 단계를 따르세요:

  1. 이전의 안정적인 배포본으로 롤백합니다.
  2. 새로운 수정 사항에 대한 버전 번호를 증가시킵니다 (주의: 삭제된 버전 번호는 재사용할 수 없습니다) [2].
  3. 앱 시작 시 업데이트를 확인하여 예상대로 작동하는지 확인합니다.

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

요약

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

여기서 개발자들이 말하는 내용입니다.

“우리는 +5000 명의 사용자 기반을 가진 프로덕션에서 Capgo OTA 업데이트를 출시했습니다. 거의 모든 사용자가 업데이트가 배포된 후 @Capgo 에서 몇 분 안에 업데이트가 된 것을 볼 수 있습니다.” - colenso 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]

특히 __CAPGO_KEEP_0__ 플랫폼을 통해 매주 여러 개의 릴리즈를 관리하는 팀에게는 매우 도움이 됩니다. [5]Capgo의

Capgo’s , CI/CD 도구와 통합되어 budgets를 절약할 수 있습니다 - 5년 동안 $26,100을 절약할 수 있습니다.맞춤형 채널은 업데이트가 올바른 사용자에게 올바른 시간에 도달하도록 해줍니다. [1]“우리는 애그일 개발을 실천하고 @__CAPGO_KEEP_0__은 사용자에게 지속적으로 배포하는 mission-critical입니다!” - Rodrigo Mantica

. Capgo는 개발자들이 빠르게 업데이트를 푸시하고, 사용자에게 지속적으로 배포할 수 있도록 해줍니다. [1]

Capgo 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요.

__CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. Capgo 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. __CAPGO_KEEP_0__ 버전 관리와 OTA 업데이트를 사용하는 방법을 계속하세요. Capgo Live Updates Capgo Live Updates를 위한 제품 워크플로우.

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

웹-layer 버그가 활성화된 경우 Capgo를 통해 픽스를 배포하여 앱 스토어 승인까지 며칠 기다리지 않도록 하세요. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로에 남게 됩니다.

시작하기

블로그에서 최신 소식

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