Capacitor CLI lets you customize your app’s build process for iOS, Android, and web platforms. By tweaking build scripts, you can:
- 업데이트 속도 향상: 앱 스토어 지연 없이 즉시 변경 사항을 푸시합니다.
- 배포 제어: 업데이트 롤백 또는 특정 사용자 그룹을 대상으로 배포합니다.
- 앱 보안: 업데이트를 보호하기 위해 암호화를 사용합니다.
- 빌드 최적화: 플랫폼에 맞는 설정을 조정합니다.
주요 기능 빠른 개요:
- 설정 파일:
capacitor.config.json및package.json설정을 관리하기 위해. - 사용자 정의 스크립트: 자동화된 prebuild 및 postbuild 작업을 위해 __CAPGO_KEEP_0__를 추가합니다.
- 빌드 훅: code를 빌드 프로세스의 특정 단계에서 실행합니다.
- 환경 변수: 환경에 따라 빌드를 단순화하는 __CAPGO_KEEP_0__를 사용합니다.
.env파일
: Capgo컨텍스트: Capgo UI의 더 긴 문자열에서 HTML 텍스트 조각 (부모 키 `submitting_a_pr_to_capgo`). 페이지/영역: Capgo 마케팅 웹사이트. 역할: 웹사이트 복사본. Seen in: contributing.astro 페이지. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지합니다. , 배포 도구로, 업데이트, 버전 추적 및 전 세계 성능 최적화를 제공합니다.자동화된 업데이트스,
소개 Capacitor 설정

Default Build Process in Capacitor
Capacitor이 기본 빌드 프로세스를 어떻게 처리하는지 이해하는 것은 빌드 프로세스를 효과적으로 커스터마이즈하려면 필수적입니다. 아래에서, 우리는 Capacitor CLI의 빌드 프로세스와 주요 구성 파일을 단계별로 설명하겠습니다.
표준 빌드 단계
Capacitor은 웹 앱을 플랫폼별 빌드로 변환하는 단계별 프로세스를 사용합니다. 기본 빌드 프로세스 중 발생하는 일은 다음과 같습니다:
| 단계 | 설명 | 출력 |
|---|---|---|
| 웹 빌드 | 웹 자산을 프레임워크 도구를 사용하여 컴파일합니다. | 최적화된 웹 번들 |
| 자산 복사 | 웹 자산을 네이티브 플랫폼 폴더로 이동 | 플랫폼별 자산 디렉토리 |
| 네이티브 빌드 | 플랫폼별 빌드 명령을 실행합니다. | 배포 가능한 바이너리 |
| 검증 | 빌드完整성과 의존성을 확인 | 빌드 상태 및 경고 |
기본 설정 파일
두 개의 주요 구성 파일이 Capacitor이 빌드를 처리하는 방식을 결정합니다:
capacitor.config.json
Capacitor.config.json은 Capacitor 프로젝트의 핵심 구성 파일입니다. 빌드에 중요한 매개 변수를 설정합니다:
{
"appId": "com.example.app",
"appName": "MyApp",
"webDir": "dist",
"bundledWebRuntime": false,
"plugins": {
"SplashScreen": {
"launchShowDuration": 3000
}
}
}
appId: 앱에 대한 고유한 식별자입니다.appName: 앱의 이름입니다.webDir: Capacitor이 웹 자산을 찾는 위치를 지정합니다 (예:dist).plugins: 플러그인별 설정을 구성할 수 있습니다. 예를 들어 SplashScreen 옵션을 설정할 수 있습니다.
package.json
이 파일에는 빌드 스크립트 및 의존성 정보가 포함되어 빌드 프로세스를影响합니다:
{
"scripts": {
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"cap:build": "cap build"
}
}
- The
webDir설정capacitor.config.jsonCapgo는 Capacitor에서 컴파일된 웹 자산의 위치를 지정하여 네이티브 빌드에 포함시킵니다. - __CAPGO_KEEP_0__의 변경 사항을 적용한 후
capacitor.config.json__CAPGO_KEEP_0__를 실행하여 네이티브 프로젝트가 업데이트되도록 해야 합니다.cap sync다음으로, 빌드 설정을 수정하여 빌드 프로세스를 더 세부적으로 커스터마이즈할 수 있는 방법에 대해 살펴보겠습니다.
빌드 스크립트 수정
__CAPGO_KEEP_0__의 기본 빌드 프로세스를 수정하여 프로젝트에 맞게 조정할 수 있습니다. 방법은 다음과 같습니다.
You can tweak Capacitor’s default build process to better suit your project needs. Here’s how:
__CAPGO_KEEP_0__의 빌드 프로세스를 조정하기 위해
파일을 편집할 수 있습니다. 아래는 예시 구성입니다. capacitor.config.json 다음과 같은 주요 설정을 수정할 수 있습니다:
{
"appId": "com.example.app",
"webDir": "www",
"server": {
"hostname": "localhost",
"androidScheme": "https",
"iosScheme": "https",
"allowNavigation": ["*.example.com"]
},
"android": {
"buildOptions": {
"keystorePath": "release.keystore",
"keystorePassword": "mypassword",
"keystoreAlias": "release",
"keystoreAliasPassword": "mypassword"
}
},
"ios": {
"scheme": "App",
"automaticProvisioning": true
}
}
__CAPGO_KEEP_0__ : 컴파일된 웹 자산이 위치하는 경로를 지정합니다.
webDir__CAPGO_KEEP_0__ : 컴파일된 웹 자산이 위치하는 경로를 지정합니다.server: 개발 서버를 구성합니다. 호스트 이름 및 네비게이션 권한을 포함합니다.android/ios: 플랫폼별 빌드 설정을 허용합니다. 예를 들어 Android의 키 스토어 세부 정보 또는 iOS의 배포 옵션과 같은.
Creating NPM Scripts
워크플로우를 간소화하기 위해 커스텀 스크립트를 추가하여 NPM를 streamline합니다. package.json 파일에 추가하십시오. 여기의 예시를 참조하십시오.
{
"scripts": {
"prebuild": "node ./scripts/prepare-env.js",
"build": "npm run build:web && cap sync",
"build:web": "vite build",
"build:ios": "cap build ios --release",
"build:android": "cap build android --release",
"postbuild": "node ./scripts/notify-completion.js"
}
}
prebuild또한postbuild: 환경 설정을 설정하거나 빌드가 완료되었을 때 알림을 보내는 등의 작업을 위해 사용합니다.build:platform: Android 또는 iOS 앱을 빌드하기 위한 플랫폼별 명령어입니다.
자동화 작업을 더 진행하기 위해 빌드 훅을 추가할 수 있습니다.
빌드 훅 설정
더욱 더 세부적인 제어를 원한다면 빌드 훅을 사용하여 빌드 프로세스의 특정 단계에서 커스텀 code를 실행할 수 있습니다. 여기의 예시 설정을 참조하십시오. capacitor.config.ts:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
plugins: {
CapacitorHooks: {
beforeBuild: async () => {
console.log('Running pre-build tasks...');
// Add your pre-build tasks here
},
afterBuild: async () => {
console.log('Running post-build tasks...');
// Add your post-build tasks here
}
}
}
};
export default config;
빌드 훅을 사용하면:
- 요구 사항을 빌드가 시작되기 전에 검증하세요
- 자산을 변환하는 과정에서
- 중요한 지점에서 알림을 트리거하세요
- 버전 번호를 자동으로 업데이트하세요
- 자동화된 테스트를 무방비하게 실행하세요
이 접근 방식은 빌드 라이프 사이클의 전체에 대한 더 큰 유연성과 제어를 제공합니다.
고급 빌드 커스터마이징
큰 프로젝트에서 작업할 때, 빌드 프로세스를 세밀하게 조정하면 큰 차이를 만들 수 있습니다. 환경에 따라 빌드하고 플랫폼을 커스터마이징하는 방법을 효과적으로 처리하는 방법을 알아보겠습니다.
환경 변수
환경 변수를 설정하기 위해 각 환경에 대한 별도의 .env 파일을 생성하세요:
.env.development.env.staging.env.production
그런 다음, 빌드 스크립트를 환경에 따라 적절한 파일을 로드하도록 구성하세요:
import { defineConfig } from '@capacitor/cli';
export default defineConfig({
ios: {
buildConfig: {
environment: process.env.BUILD_ENV || 'development',
configurations: {
development: {
signing: {
debug: true,
automaticProvisioning: true
}
},
production: {
signing: {
release: true,
provisioningProfile: 'dist/profile.mobileprovision'
}
}
}
}
}
});
이러한 설정을 플랫폼에 맞게 조정할 수 있습니다.
플랫폼별 빌드
Android 및 iOS를 위한 빌드를 커스터마이즈하려면 다음 구조를 사용하세요.
const platformConfig = {
android: {
buildType: process.env.BUILD_TYPE || 'debug',
keystoreConfig: {
path: process.env.KEYSTORE_PATH,
password: process.env.KEYSTORE_PASSWORD,
alias: process.env.KEYSTORE_ALIAS
}
},
ios: {
scheme: process.env.APP_SCHEME || 'App',
xcodePreferences: {
automaticSigning: false,
developmentTeam: process.env.DEVELOPMENT_TEAM
}
}
};
이러한 설정은 각 플랫폼에 맞게 빌드를 조정하여 smoother한 배포를 보장합니다.
| 기능 | Android | iOS |
|---|---|---|
| 디버그 SYMBOL | ProGuard mapping 파일 | dSYM 파일 |
| 빌드 버전 | debug, release, 개발 환경 | debug, release |
| Code Signing | Keystore 관리 | 배포 프로파일 관리 |
| 자산 관리 | res/drawable 최적화 | 자산 카탈로그 |
빌드 최적화에 대한 추가 팁은 다음과 같습니다.
- 부분 업데이트 사용하여 배포 시간을 절약하는 방법
- 오류 추적 설정을 통해 문제를 빠르게 식별하는 방법
- 베타 테스트 버전을 위한 채널 시스템 만들기
- __CAPGO_KEEP_0__
Capgo를 사용하여 분석 및 안전한 업데이트를 위한 도구와 함께 pair할 때, 이러한 기술은 배포 프로세스에 대한 더 많은 제어를 제공합니다. [1].
빌드 스크립트 문제 및 해결
커스텀 빌드 구성과 함께 작업할 때, 오류를 빠르게 해결하는 것은 빌드 프로세스를 원활하게 유지하는 데 중요합니다.
일반적인 오류를 해결하세요
빌드 스크립트 문제의 대부분은 환경 설정 또는 의존성 문제에서 비롯됩니다. 여기서 몇 가지 일반적인 문제를 해결하는 방법을 설명합니다.
환경 변수가 누락된 경우
다음과 같은 오류가 발생하는 경우:
error: Cannot find environment configuration for BUILD_ENV
이를 해결하려면 프로젝트의 루트 디렉토리에 파일을 생성하세요. 예를 들어: .env.local 플랫폼별 빌드 실패
BUILD_ENV=development
CAPACITOR_PLATFORM=ios
BUILD_TYPE=debug
안드로이드 서명 오류를 해결하려면 다음 명령어를 사용하세요:
__CAPGO_KEEP_0__
npx cap build android --keystorePassword=$KEYSTORE_PASSWORD --keystoreAlias=$KEYSTORE_ALIAS
iOS 배포 프로파일 문제를 해결하려면 이 방법을 시도해 보세요:
npx cap build ios --configuration=release --type=development
| 오류 유형 | 일반적인 원인 | 해결 방안 |
|---|---|---|
| 인증 구성 | 키스토어 정보가 누락된 경우 | 설정 KEYSTORE_PATH 및 자격 증명 |
| 빌드 환경 | 정의되지 않은 변수 | 플랫폼별로 구체적인 .env 파일을 생성하세요 |
| 필요한 의존성 | 버전 불일치 | 업데이트 package.json 및 동기화 |
수정 후에, 변경 사항이 안정적임을 확인하기 위해 완전한 빌드 테스트를 실행하세요.
빌드 스크립트 테스트
오류가 해결된 후, 빌드 스크립트를 다음 단계로 검증하세요:
- 자동 검증: 빌드 프로세스가 예상대로 작동하는지 확인하기 위해 주요 명령어를 실행하세요.
npm run build
npx cap sync
npx cap copy
- 환경 검증: 빌드 시작하기 전에 누락된 환경 변수를 확인하세요.
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
if (!process.env[varName]) {
throw new Error(`Missing required env var: ${varName}`);
}
});
- 빌드 스크립트 디버깅: 빌드 중 발생할 수 있는 문제를 잡기 위한 세부 스크립트를 추가하세요.
{
"scripts": {
"build:debug": "NODE_ENV=development npx cap build --verbose",
"build:release": "NODE_ENV=production npx cap build --verbose"
}
}
추가 테스트 팁:
- 사용 도커 컨테이너를 사용하여 빌드를 분리하세요.
- 설정 파일을 시작하기 전에 유효성을 검사하세요.
- 다양한 Node.js 버전으로 테스트하세요.
- 플랫폼에 대한 특정 요구 사항이 충족되는지 확인하세요.
- 빌드 성능을 모니터링하여 개선할 수 있는 부분을 확인하세요.
Capgo 기능 빌드

Capgo은 자동 배포를 통해 빌드 스크립트를 다음 단계로 끌어올리며 효율성을 높이고 프로세스를 단순화합니다.
빠른 앱 업데이트
Capgo의 업데이트 성능은 다음과 같습니다:
- 95%의 활성 사용자 24시간 내에 업데이트 받습니다.
- 82%의 성공률 세계 곳곳에서 업데이트 전달 성공률
- API의 평균 응답 시간은 전 세계적으로 434ms.
플랫폼은 부분 업데이트 방식을 사용하여, 변경 사항만 다운로드합니다. 이 접근 방식은 대역폭 사용량을 줄이고 업데이트 프로세스를 가속화합니다. 또한, 빌드 프로세스는 완전히 자동화되어 시간과 노력을 절약합니다.
자동화 빌드
Capgo는 주요 CI/CD 플랫폼과 완벽하게 호환되며 다양한 통합을 제공합니다.
| CI/CD 플랫폼 | 통합 기능 | __CAPGO_KEEP_0__의 이점 |
|---|---|---|
| GitHub 액션 | 자동화 빌드, 배포 트리거 | 연속 배포 |
| GitLab CI | pipeline 자동화, 버전 관리 | streamlined 워크플로 |
| Jenkins | 커스텀 워크플로우, 빌드 훅 | 기업용으로 확장 가능 |
자동 빌드 설정을 일반적으로 월 $300으로 시작합니다. 이는 전통적인 솔루션보다 훨씬 저렴한 비용입니다. 전통적인 솔루션은 연 $6,000까지 올라갈 수 있습니다.보안 표준 __CAPGO_KEEP_0__은 보안에 중점을 둔 강력한 프레임워크를 제공합니다..
업데이트 패키지의 종단 간 암호화.
Capgo prioritizes security with a robust framework that includes:
- 애플 및 구글 지침에 대한 준수.
- 버전 관리 기능
- __CAPGO_KEEP_0__
버전 관리 기능
- 즉시 롤백 옵션.
- 배포 버전 추적.
- 스테이징 릴리스를 위한 업데이트 채널 관리.
이 보안 프레임워크는 수백 개의 기업 애플리케이션을 통해 엄격하게 테스트되었습니다. 추가 보안이 필요한 팀에게도 Capgo는自主 호스팅 솔루션을 제공하며 사용자 지정 설정이 가능합니다.
Capgo의 채널 시스템은 업데이트 분배를 유연하게 만듭니다. 개발자는 특정 사용자 그룹에 대해 다른 버전을 대상으로 하여 베타 테스트나 점진적인 릴리스에 적합합니다.
요약
빌드 단계 개요
자동화되고 일관된 배포를 위해 빌드 훅, 환경 변수, 플랫폼별 명령어를 활용하는 커스텀 빌드 스크립트가 가능합니다. 이러한 프로세스는 Capgo를 통해 가능해지는 배포 개선의 근간을 제공합니다.
Capgo 이점
Capgo은 배포를 단순화하여 750 개의 프로덕션 앱에서 23.5 만 개의 업데이트를 성공적으로 배포했습니다. [1]반드시 필요한 업데이트만 전송하여 대역폭 사용량과 배포 시간을 모두 줄입니다.
플랫폼은 빠른 업데이트, 전 세계 성능 최적화, 종단 간 암호화 보안, 유연한 채널 기반 분배 시스템을 제공합니다. 이 설정은 목표 업데이트, 베타 테스트, 앱 스토어 지침 준수와 함께 강력한 보안 프레임워크를 유지합니다.
Capacitor CLI
__CAPGO_KEEP_0__ Capacitor CLI __CAPGO_KEEP_0__ CI/CD Capgo CI/CD Capgo Native Builds Capgo Native Builds Capgo Integrations Capgo Integrations for the product workflow in Capgo Integrations, __CAPGO_KEEP_0__ CI/CD Integration __CAPGO_KEEP_0__ GitHub 액션 통합 GitHub 액션 통합 구현 세부 사항