업데이트를 간소화하고 싶다면 앱 업데이트 버전 관리? Semantic Versioning (SemVer)과 함께 CapgoCloudflare의 Over-The-Air (OTA) 업데이트로 인해 Capacitor 앱 관리가 더 쉽고 빠르다. 그 방법은 다음과 같다.
-
Semantic Versioning의 기초 버전은 다음 형식으로 사용된다.
MAJOR.MINOR.PATCH:- MAJOR: 파괴적인 변경 사항.
- MINOR: 백워드 호환성을 유지하는 새로운 기능.
- PATCH: 버그 수정.
-
Capgo을 사용하는 이유는 무엇인가?
- 업데이트에 대한 명확한 의사소통.
- 버전 관리를 더 똑똑하게.
- 의존성 충돌을 피하기 위해.
- 계획된 릴리스.
-
Capgo 설정 단계:
- Capgo의 업데이터 플러그인을 설치합니다.
- 앱의 버전을
capacitor.config.json파일과 같은 다른 파일에서 구성합니다. - API 키로 초기화하세요.
- __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을 사용하여 OTA 업데이트와 버전 관리를 쉽게 관리하는 데 필요한 단계를 설명합니다.
초기 설정 단계
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 Phase | Key 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.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_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 |
업데이트 복구 단계
주의에도 불구하고 업데이트가 실패할 수 있습니다. 그럴 경우 다음 복구 단계를 따르세요:
- 이전 안정 버전으로 롤백하세요.
- 새로운 수정 사항에 대한 버전 번호를 증가시키세요 (주의: 삭제된 버전 번호는 재사용할 수 없습니다). [2].
- 앱 시작 시 업데이트를 확인하여 예상대로 작동하는지 확인합니다.
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]