메인 콘텐츠로 건너뛰기

사용자 정의 저장소

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

Capgo의 사용자 지정 저장소 기능은 업데이트를 Capgo에 URL을 제공하여 외부 위치에 번들을 업로드하는 방식으로 작동합니다. Capgo SDK는 사용자 지정 저장소 위치에서 업데이트를 직접 다운로드하는 대신 Capgo의 기본 클라우드 저장소 대신 사용합니다.

Capgo에 업로드된 배ंडल URL을 제공하여 사용자 정의 저장소를 가장 단순하게 사용할 수 있습니다.

기본 외부 URL 업로드

제목 “기본 외부 URL 업로드”
터미널 창
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Capgo의 클라우드 저장소에 업로드하는 대신 Capgo에 지정된 URL에서 배ंडल을 참조하도록 Capgo에게 지시하는 명령입니다.

보안 외부 저장을 위해, 암호화된 패키지를 제공하고 복호화 키를 제공할 수 있습니다.

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

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-regionS3 버킷에 대한 AWS 지역
--s3-apikey__CAPGO_KEEP_0__ IDYes
--s3-apisecret__CAPGO_KEEP_1__Yes
--s3-bucket-name__CAPGO_KEEP_0__ 이름Yes
--s3-endpoint__CAPGO_KEEP_2__ URLNo
--s3-port__CAPGO_KEEP_3__ 포트No
--no-s3-ssl__CAPGO_KEEP_4__ 사용 안 함No

압축 준비 및 암호화

압축 준비 및 암호화 섹션

암호화와 함께 사용하는 사용자 지정 저장소의 경우, 압축 파일을 준비하는 것이 필요합니다. 이 작업은 zip 파일을 생성하고 선택적으로 암호화하는 것을 포함합니다.

1단계: Zip 압축 파일 생성

1단계: Zip 압축 파일 생성 섹션

앱 압축 파일의 zip 파일을 생성하세요.

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

zip 명령어는 zip 파일의 체크섬을 반환합니다. 체크섬을 사용하여 zip 파일을 암호화할 수 있습니다. 필요 시 --json zip 명령어 옵션

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단계: 번들을 암호화 (선택 사항)

Step 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 __CAPGO_KEEP_0__은 필수 매개 변수로 zip 파일의 체크섬이어야 합니다. 체크섬은 zip 명령어의 출력에서 얻을 수 있습니다 (구조화된 출력을 위해 옵션을 사용하세요). --json 기본적으로 암호화 명령어는 로컬 개인 암호화 키를 사용합니다. 사용자 지정 키를 지정하려면 옵션을 사용하세요.

or --key 암호화 명령어는 업로드 또는 복호화에 필요한 --key-data 을 반환합니다.

Copy to clipboard ivSessionKey The

암호화 명령 옵션

암호화 명령 옵션 섹션
옵션설명
zipPath__CAPGO_KEEP_0__ 암호화할 zip 파일 경로 (필수)
checksum__CAPGO_KEEP_0__ zip 파일의 체크섬 (필수) - zip 명령에서 가져오세요
--key__CAPGO_KEEP_0__ 개인 서명 키의 사용자 지정 경로 (선택, 기본적으로 로컬 키 사용)
--key-data__CAPGO_KEEP_0__ 개인 서명 키 데이터 직접 입력 (선택)
--json__CAPGO_KEEP_0__ 결과를 JSON 형식으로 출력

완전한 워크플로우 예시

제목: 완전한 워크플로우 예시

예시 1: 암호화된 외부 URL

제목: 예시 1: 암호화된 외부 URL
  1. 앱을 빌드하세요:

    터미널 창
    npm run build
  2. zip 파일을 생성하세요:

    터미널 창
    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
  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
  1. 빌드하고 zip:

    터미널 창
    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

보안 고려 사항

보안 고려 사항

사용자 지정 저장소 사용 시 다음 보안 최적화 사항을 고려하십시오:

  • 보안 고려 사항
  • 가능한 경우 signed URL 또는 토큰 기반 인증을 사용하세요
  • 웹 기반 앱에 대한 적절한 CORS 헤더를 implement하세요

암호화

암호화
  • _sensitive_ 데이터를 항상 Capgo 암호화 도구를 사용하여 암호화하세요
  • 암호화 키를 안전하게 저장하고 정기적으로 rotate하세요
  • 모바일 및 Electron 앱을 위한 모든 bundle URL에 HTTPS를 사용하세요 (필수)
  • bundle 다운로드가 실패한 경우 알림을 설정하세요
  • 저장소 권한을 정기적으로 감사하세요
  • storage permissions

일반적인 문제

제목: 일반적인 문제

배포물 다운로드 실패:

  • URL이 공개적으로 접근 가능하고 HTTPS를 사용하는지 확인하세요. (모바일 및 Electron 앱의 경우 필수)
  • 웹 앱의 CORS 헤더를 확인하세요
  • 배포물 형식이 올바른지 확인하세요

암호화 오류:

  • 암호화된 배포물과 일치하는지 확인하세요 ivSessionKey 암호화된 배포물이 올바른 키로 암호화되었는지 확인하세요
  • Verify the matches the encrypted bundle
  • __CAPGO_KEEP_0__

S3 업로드 실패:

  • S3 인증 정보와 권한을 확인하세요
  • 버킷 정책과 CORS 설정을 확인하세요
  • __CAPGO_KEEP_0__

디버그 명령어

디버그 명령어

배포 상태를 확인하세요:

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

배포完整성을 확인하세요:

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