메인 콘텐츠로 바로가기

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

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

마틴 도나디유

마틴 도나디유

콘텐츠 마케터

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

업데이트를 간소화하고 싶다면 앱 업데이트 버전 관리? Semantic Versioning (SemVer)과 함께 CapgoCloudflare의 Over-The-Air (OTA) 업데이트로 인해 Capacitor 앱 관리가 더 쉽고 빠르다. 그 방법은 다음과 같다.

  • Semantic Versioning의 기초 버전은 다음 형식으로 사용된다. MAJOR.MINOR.PATCH:

    • MAJOR: 파괴적인 변경 사항.
    • MINOR: 백워드 호환성을 유지하는 새로운 기능.
    • PATCH: 버그 수정.
  • Capgo을 사용하는 이유는 무엇인가?

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

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

    • 업데이트가 실패한 경우 롤백 옵션을 제공하세요.
    • 배포 프로세스:
    • 버전 번호를 SemVer 규칙에 따라 업데이트하세요.
  • 배포하기 전에 철저히 테스트하세요.

    • __CAPGO_KEEP_0__ 명령을 사용하여 업데이트를 업로드하고 배포하세요.
    • __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
    • CLI

Capgo은 사용자에게 신속하고 안정적으로 업데이트를 전달하는 데 도움이 되는 도구를 제공하여 중단과 Instability를 관리하는 데 도움이 됩니다. 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 설정 후 __CAPGO_KEEP_0__을 __CAPGO_KEEP_1__ 키와 초기화하세요: versionName)
  • ios/App/App.xcodeproj/project.pbxproj 빠른 참조 표: CURRENT_PROJECT_VERSION)

Once configured, initialize Capgo with your API key:

npx @capgo/cli@latest init YOUR_API_KEY

키 액션

인증 단계Setup PhaseKey Action
설치__CAPGO_KEEP_0__ 플러그인 설치 및 동기화확인 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();

이 설정은 앱이 smooth OTA 배포 및 버전 관리를 위해 준비되도록 보장합니다.

Semantic Versioning을 사용하여 Capgo

버전 번호 관리

Capgo은 Semantic Versioning (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은 워크플로우의 다양한 단계에 대한 별도의 채널을 설정하여 배포를 효과적으로 관리할 수 있습니다.

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

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

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

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

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

이러한 베스트 프랙티스는 앱의 배포 프로세스에서 업데이트를 관리하는 것이 더 쉬워지고 새로운 기능을 테스트하고 안정성을 유지할 수 있도록 도와줍니다.

sbb-itb-f9944d2

OTA 업데이트 배포

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

업데이트 준비

버전을 먼저 package.jsoncapacitor.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_KEEP_0__ 버전을 정확히 요구하여 업데이트합니다.
  • 채널 기반: 채널을 사용하여 테스트 및 스테이지 롤아웃을 수행합니다.

Capgo CLI 업데이트 명령

Use Capgo’s CLI to deploy your update with ease. Here’s how:

# 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 [channelId] [appId]

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

“Capgo은 @AppFlow와 달리 모든 돈을 들여도 모든 사용자에게 code 푸시를 하는 지혜로운 방법입니다 🙂”

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

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

기업급 배포에 대한 경우, CI/CD 자동화 통합을 원할 수 있습니다.

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

개발 문제 해결 및 팁

버전 관리 문제

Capgo의 의미적 버전 관리를 관리할 때 업데이트 배포가 복잡해질 수 있습니다. 개발 작업을 덮어쓰지 않도록 하려면, 다음과 같은 설정을 파일에 구성하세요. capacitor.config.json 파일:

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

업데이트가 실패한 경우, 다음을 수행할 수 있습니다:

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

주 버전 업데이트를 위해 사용하세요. disableAutoUpdateBreaking 이벤트를 통해 업데이트를 처리하는 데 적절히 대응하십시오: majorAvailable 이 설정을 팀의 좋은 관행과 combination하면 버전 일관성 유지 및 오류를 줄일 수 있습니다.

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

팀 버전 관리

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

Once individual updates are managed, it’s crucial for teams to establish strong version control practices.

main repository [4]

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

  • 일관성을 보장하기 위한 방법입니다. main repository 실제 버전 관리의 근거가 되는 소스입니다.
  • 개발 및 운영 환경을 위한 별도의 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 Semantic Versioning, combined with Capgo, has made OTA updates for __CAPGO_KEEP_1__ apps more efficient. [1]

MAJOR.MINOR.PATCH 버전 시스템은 쉽게 깨진 변경 사항, 새로운 기능 및 버그 수정을 전달할 수 있게 해줍니다. [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]

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

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

시작하기

블로그에서 최신 뉴스

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