커스텀 스토리지에 대한 __CAPGO_KEEP_0__ Live Updates를 사용하는 방법을 배워보세요. 외부 URL, S3 통합 및 보안 배포를 위한 번들 암호화와 같은 솔루션을 포함합니다.

커스텀 스토리지

Capgo은 앱 번들을 호스팅하기 위해 사용자 지정 저장소 솔루션을 지원합니다. 이 솔루션은 사용자 지정 저장소 서비스 또는 사용자 자신의 인프라에서 업데이트를 호스팅할 수 있습니다. 특히, 보안 요구 사항, 규정 준수 요구 사항, 또는 기존 저장소 인프라가 있는 조직에게 유용합니다.

Capgo의 사용자 지정 저장소는 업로드 된 번들을 외부 위치로 업로드하고 Capgo에 업데이트할 수 있는 URL을 제공하는 방식으로 작동합니다. Capgo SDK는 사용자 지정 저장소 위치에서 업데이트를 다운로드하기 때문에 Capgo의 기본 클라우드 저장소 대신 사용됩니다.

외부 URL 업로드

외부 URL 업로드

Capgo을 사용하기 가장 쉬운 방법은 bundle을 공개적으로 접근할 수 있는 URL로 업로드하고 그 URL을 Capgo에 제공하는 것입니다.

외부 URL 업로드

section
터미널 창
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Capgo에 지정된 URL 대신 Capgo의 클라우드 스토리지에 업로드하는 대신 Capgo에 이 명령을 사용하여 Capgo의 클라우드 스토리지에 업로드하는 대신 Capgo에 이 URL을 참조하도록 지시합니다.

암호화

암호화

보안 외부 스토리지에 대한 암호화된 패키지를 제공하고 복호화 키를 제공하여 암호화된 패키지를 업로드할 수 있습니다.

터미널 창
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEY

S3 통합

S3 통합

Capgo는 Amazon S3 및 S3 호환 스토리지 서비스에 대한 내장 지원을 제공합니다. CLI은 자동으로 패키지를 S3로 업로드하고 Capgo를 S3 URL로 구성할 수 있습니다.

S3 업로드 옵션

S3 업로드 옵션 섹션
터미널 창
npx @capgo/cli@latest bundle upload \
--s3-region us-east-1 \
--s3-apikey YOUR_ACCESS_KEY \
--s3-apisecret YOUR_SECRET_KEY \
--s3-bucket-name your-bucket-name

S3 구성 완료

S3 구성 완료 섹션

S3 호환 서비스 또는 사용자 지정 엔드포인트에 대해:

터미널 창
npx @capgo/cli@latest bundle upload \
--s3-region us-east-1 \
--s3-apikey YOUR_ACCESS_KEY \
--s3-apisecret YOUR_SECRET_KEY \
--s3-endpoint https://s3.your-provider.com \
--s3-bucket-name your-bucket-name \
--s3-port 443 \
--no-s3-ssl # Only if your endpoint doesn't support SSL

S3 구성 매개 변수

S3 구성 매개 변수 섹션
매개 변수설명필수
--s3-regionAWS S3 버킷의 지역네
--s3-apikey네네
--s3-apisecretS3 접근 키 ID네
--s3-bucket-nameS3 비밀 접근 키네
--s3-endpointS3 버킷 이름No
--s3-port아니오No
--no-s3-sslSSL을 비활성화하여 S3 업로드No

압축물 준비 및 암호화

압축물 준비 및 암호화 섹션

커스텀 스토리지 사용 시, 특히 암호화 사용 시, 압축물 준비가 필요합니다. 이에는 zip 파일을 생성하고 선택적으로 암호화하는 것이 포함됩니다.

1단계: Zip 압축물 생성

Step 1: Zip Bundle 만들기

1단계: Zip 압축물 생성 섹션

먼저 앱 압축물을 zip 파일로 생성하세요:
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

클립보드 복사하기 --json 구조화된 출력을 포함하는 체크섬을 얻는 옵션.

Zip 명령어 옵션

Zip 명령어 옵션 섹션
터미널 창
npx @capgo/cli@latest bundle zip [appId] \
--path ./dist \
--bundle 1.2.3 \
--name myapp-v1.2.3 \
--json \
--no-code-check \
--key-v2 \
--package-json ../../package.json,./package.json
옵션설명
--pathcapacitor.config에서 webDir를 기본값으로 하는 폴더의 경로
--bundle압축 파일 이름에 사용할 버전 번호
--name사용자 지정 압축 파일 이름
--jsonJSON 형식으로 출력 결과를 반환 (체크섬 포함)
--no-code-checknotifyAppReady() 호출과 인덱스 파일을 확인하지 않음
--key-v2암호화 v2 사용
--package-json모노레포의 package.json 파일 경로 (쉼표로 구분)

2단계: 암호화된 패키지 (선택)

2단계: 암호화된 패키지 (선택)

업로드하기 전에 암호화된 zip 파일을 보안적으로 강화하세요.

터미널 창
# Using default local key
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key file
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directly
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"

The CHECKSUM 암호화 명령어는 기본적으로 로컬 개인 서명 키를 사용합니다. 사용자 지정 키를 지정하려면 또는를 사용할 수 있습니다. --json or

기본적으로 암호화 명령은 사용자의 로컬 개인 서명 키를 사용합니다. 사용자 지정 키를 지정하려면 __CAPGO_KEEP_0__를 사용할 수 있습니다. --key or --key-data option.

Live Update 명령은 업로드 또는 복호화를 위해 필요한 값을 반환합니다. ivSessionKey Live Update 명령은 업로드 또는 복호화를 위해 필요한 값을 반환합니다.

암호화 명령 옵션

암호화 명령 옵션
Option설명
zipPath암호화할 zip 파일의 경로 (필수)
checksumzip 파일의 체크섬 (필수) - zip 명령에서 가져옵니다.
--key개인 서명 키의 사용자 지정 경로 (선택, 기본값은 로컬 키를 사용합니다)
--key-data개인 서명 키 데이터 직접 (선택)
--json출력 결과를 JSON 형식으로 반환합니다.

전체 워크플로우 예제

1. 외부 URL에 암호화

1. 외부 URL에 암호화

앱을 빌드하세요:
  1. 터미널 창

    복사
    npm run build
  2. 압축 파일을 생성하세요:

    터미널 창
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    이 명령어의 반환된 체크섬을 기록하세요.

  3. 압축 파일을 암호화하세요:

    터미널 창
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    출력에서 ivSessionKey 업로드하세요:

  4. 호스팅 서비스에 암호화된 zip 파일을 업로드하세요. 등록하세요:

  5. Capgo

    터미널 창
    npx @capgo/cli@latest bundle upload \
    --external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \
    --iv-session-key IV_SESSION_KEY_FROM_STEP_3

예제 2: 직접 S3 업로드

예제 2: 직접 S3 업로드
  1. 앱을 빌드하세요:

    터미널 창
    npm run build
  2. 직접 S3로 업로드:

    터미널 창
    npx @capgo/cli@latest bundle upload \
    --s3-region us-west-2 \
    --s3-apikey YOUR_ACCESS_KEY \
    --s3-apisecret YOUR_SECRET_KEY \
    --s3-bucket-name your-app-bundles \
    --channel Production

예제 3: 암호화된 S3

예제 3: 암호화된 S3
  1. 설치 및 압축:

    터미널 창
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. 압축 파일 암호화:

    터미널 창
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. 암호화된 압축 파일을 S3에 업로드:

    터미널 창
    npx @capgo/cli@latest bundle upload \
    --s3-region us-west-2 \
    --s3-apikey YOUR_ACCESS_KEY \
    --s3-apisecret YOUR_SECRET_KEY \
    --s3-bucket-name your-app-bundles \
    --iv-session-key IV_SESSION_KEY_FROM_STEP_2 \
    --channel Production

보안 고려 사항

보안 고려 사항

커스텀 스토리지 사용 시 다음 보안 최적화 방법을 고려하십시오:

  • 저장소 URL이 앱 사용자에게만 접근 가능하지만 공개적으로 발견되지 않도록 하세요.
  • 가능한 경우 서명된 URL 또는 토큰 기반 인증을 사용하세요.
  • 웹 기반 앱의 경우 적절한 CORS 헤더를 Implement하세요.
  • _sensitive_ 데이터를 암호화하는 Capgo 암호화 도구를 항상 사용하세요.
  • 암호화 키를 안전하게 저장하고 정기적으로轮换하세요.
  • 모바일 및 Electron 앱의 경우 모든 배포 URL에 HTTPS를 사용하세요.
  • 다운로드 패턴을 감지하기 위해 액세스 로그를 모니터링하세요.
  • 다운로드 실패 시 알림을 설정하세요.
  • 스토리지 권한을 정기적으로 감사하세요.

문제 해결 섹션

일반적인 문제

일반적인 문제 섹션

  • 배포본 다운로드 실패:
  • URL이 공개적으로 액세스 가능하고 HTTPS를 사용하는지 확인하세요. (모바일 및 Electron 앱에 필수)
  • 웹 앱의 CORS 헤더를 확인하세요.

배포본 형식이 올바른지 확인하세요. (required for mobile and Electron apps)

  • Live Update ivSessionKey Live Update
  • Live Update
  • Live Update

S3 업로드 오류:

  • Verify your S3 인증 정보와 권한
  • Check 버킷 정책과 CORS 설정
  • 정확한 지역이 지정되었는지 확인

Debug 명령어

Debug 명령어

Bundle 상태를 확인하십시오:

터미널 창
npx @capgo/cli@latest app debug

해시 확인:

터미널 창
npx @capgo/cli@latest bundle list
  • 알아보기 채널 다양한 배포 환경을 관리하는 방법
  • 탐색 업데이트 동작 업데이트 적용 방법을 조정
  • 설정하기 CI/CD 통합 자동화된 사용자 지정 저장소 워크플로를 설정하기

사용자 지정 저장소로 계속

사용자 지정 저장소로 계속하기

사용 중인 경우 사용자 지정 저장소 보안 및 규정 준수 계획을 위해 사용 중인 경우 암호화 암호화 구현에 대한 자세한 내용 규정 준수 규정 준수 구현에 대한 자세한 내용 Capgo 보안 스캐너 Capgo 보안 스캐너를 위한 제품 워크플로우 Capgo 보안 Capgo 보안을 위한 제품 워크플로우, 그리고 Capgo 신뢰 센터 Capgo 신뢰 센터를 위한 제품 워크플로우