메뉴로 이동

사용자 지정 저장소

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에 업로드된 배ंडल의 URL을 Capgo의 클라우드 저장소에 업로드하는 대신 지정된 URL에 대한 참조를 Capgo에게 알려줍니다.

__CAPGO_KEEP_0__를 암호화하고 복호화 키를 제공하는 경우, 외부 저장소에 대한 보안을 위해 __CAPGO_KEEP_0__를 암호화하고 복호화 키를 제공할 수 있습니다.

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

Capgo provides built-in support for Amazon S3 and S3-compatible storage services. The CLI can automatically upload your bundle to S3 and configure Capgo to use the S3 URL.

__CAPGO_KEEP_0__는 Amazon S3 및 S3 호환 저장소 서비스에 대한 내장 지원을 제공합니다. __CAPGO_KEEP_1__은 S3로 __CAPGO_KEEP_0__를 자동으로 업로드하고 __CAPGO_KEEP_2__를 S3 URL로 구성할 수 있습니다.

__CAPGO_KEEP_0__
복사
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

__CAPGO_KEEP_1__은 S3로 __CAPGO_KEEP_0__를 자동으로 업로드하고 __CAPGO_KEEP_2__를 S3 URL로 구성할 수 있습니다.

Section titled “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-regionS3 버킷의 AWS 지역Yes
--s3-apikeyS3 접근 키 IDYes
--s3-apisecretS3 secret access keyYes
--s3-bucket-nameS3 버킷 이름Yes
--s3-endpoint사용자 정의 S3 엔드포인트 URLNo
--s3-portS3 엔드포인트 포트No
--no-s3-sslS3 업로드를 위한 SSL 비활성화No

배포 준비 및 암호화

Bundle 준비 및 암호화 섹션

암호화와 함께 사용하는 사용자 지정 저장소의 경우, 적절한 배포를 위해 배ंडल을 준비해야 합니다. 이에는 zip 파일을 생성하고 optionally 암호화하는 것이 포함됩니다.

Step 1: Zip 배ंडल 생성

Step 1: Zip 배ंडल 생성 섹션

첫 번째로, 앱 배ंडल의 zip 파일을 생성하세요:

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

zip 명령어는 zip 파일의 체크섬을 반환합니다. 필요할 경우 체크섬을 사용하여 zip 파일을 암호화할 수 있습니다. 체크섬을 포함하는 구조화된 출력을 얻으려면 --json zip 명령어 옵션

터미널 창

Zip Command Options
Step 1: 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
옵션설명
--path압축할 폴더의 경로 (capacitor.config의 webDir를 기본값으로)
--bundle압축 파일 이름에 버전 번호를 포함
--name압축 파일 이름을 사용자 지정
--jsonJSON 형식으로 결과를 출력 (체크섬 포함)
--no-code-checknotifyAppReady() 호출 및 인덱스 파일을 확인하지 않음
--key-v2암호화 v2 사용
--package-json모노레포의 package.json 파일 경로 (쉼표로 구분)

2단계: 번들 암호화 (선택사항)

2단계: 번들 암호화 (선택사항) 섹션

__CAPGO_KEEP_0__ 보안을 강화하기 위해, 업로드하기 전에 zip 압축 파일을 암호화하세요.

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

__CAPGO_KEEP_0__ CHECKSUM __CAPGO_KEEP_1__는 필수 매개 변수이며 zip 파일의 체크섬이어야 합니다. 체크섬은 zip 명령어의 출력에서 얻을 수 있습니다 (구조화된 출력을 위해 --json option을 사용하세요).

기본적으로 암호화 명령어는 로컬 개인 서명 키를 사용합니다. 사용자 지정 키를 지정하려면 --key or --key-data option을 사용하세요.

암호화 명령어는 업로드 또는 복호화에 필요한 ivSessionKey 를 반환합니다.

__CAPGO_KEEP_2__ 명령어 옵션

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

작업 흐름 예시

작업 흐름 예시 섹션

외부 URL에 암호화된 예시 1

외부 URL에 암호화된 예시 1 섹션
  1. 앱을 빌드하세요.

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

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

    이 명령어에 의해 반환된 체크섬을 주의하세요.

  3. __CAPGO_KEEP_0__:

    __CAPGO_KEEP_1__
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    __CAPGO_KEEP_3__ ivSessionKey __CAPGO_KEEP_4__

  4. __CAPGO_KEEP_5__ __CAPGO_KEEP_6__

  5. Capgo:

    __CAPGO_KEEP_1__
    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

__CAPGO_KEEP_7__

__CAPGO_KEEP_8__
  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. 압축 파일을 암호화:

    __CAPGO_KEEP_0__
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. __CAPGO_KEEP_2__

    __CAPGO_KEEP_0__
    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

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__

__CAPGO_KEEP_7__
  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • 웹 기반 앱에 대한 적절한 CORS 헤더를 구현하십시오

암호화

암호화
  • _sensitive_ 데이터를 항상 Capgo 암호화 도구를 사용하여 암호화하는 것
  • 암호화 키를 안전하게 저장하고 정기적으로 회전하십시오
  • 모바일 및 Electron 앱을 위한 모든 배달 URL에 HTTPS를 사용하십시오

모니터링

모니터링
  • 이상한 다운로드 패턴을 감지하기 위해 액세스 로그를 모니터링하십시오
  • 배달된 패키지 다운로드에 실패한 경우 알림을 설정하십시오
  • 저장소 권한을 정기적으로 감사하십시오

문제 해결

문제 해결

일반적인 문제

일반적인 문제

배포가 다운로드되지 않음:

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

암호화 오류:

  • 암호화된 배포와 일치하는지 확인하세요 ivSessionKey 정확한 암호와 배포가 암호화되었는지 확인하세요
  • 새로운 배포에 암호화 v2를 사용하는지 확인하세요
  • __CAPGO_KEEP_0__

S3 업로드 실패:

  • S3 인증 정보와 권한을 확인하세요
  • 버킷 정책과 CORS 구성 확인
  • 지정된 지역이 정확한지 확인하세요

Debug 명령어

Debug 명령어

bundle 상태 확인:

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

bundle完整성 확인:

터미널 창
npx @capgo/cli@latest bundle list
  • 알아보기 채널 다양한 배포 환경을 관리하기 위해
  • 탐색 업데이트 동작 업데이트가 적용되는 방법을 커스터마이즈하기 위해
  • 설정 CI/CD 통합 자동화된 커스텀 스토리지 워크플로우를 위해

커스텀 스토리지에서 계속 진행

__CAPGO_KEEP_0__ 보안 스캐너에서 계속하기

__CAPGO_KEEP_0__ 보안을 사용 중이라면 __CAPGO_KEEP_0__ 보안 __CAPGO_KEEP_0__ 보안 스캐너의 제품 워크플로에서 __CAPGO_KEEP_0__ 보안의 제품 워크플로에서 __CAPGO_KEEP_0__ 보안 __CAPGO_KEEP_0__ 보안 스캐너와 연결하여 __CAPGO_KEEP_0__ 보안과 관련된 구현 세부 정보를 Encryption에서 확인하세요. Capgo 보안과 관련된 구현 세부 정보를 Compliance에서 확인하세요. Capgo 보안과 관련된 구현 세부 정보를 Compliance에서 확인하세요. Capgo 보안과 관련된 구현 세부 정보를 Compliance에서 확인하세요. Capgo 보안과 관련된 구현 세부 정보를 Compliance에서 확인하세요. Capgo 신뢰 센터 Capgo 신뢰 센터의 제품 워크플로에 대해.