내용으로 건너뛰기

CI/CD 통합

CI/CD pipeline에 Capgo을 통합하면 앱에 대한 업데이트를 빌드하고 배포하는 프로세스를 완전히 자동화할 수 있습니다. Capgo CLI 및 semantic-release를 활용하여 일관성 있고 신뢰할 수 있는 배포를 보장하고 빠른 반복을 가능하게 할 수 있습니다.

CI/CD 통합의 이점

CI/CD 통합의 이점
  • Automation: 자동화된 빌드, 테스트 및 배포 프로세스를 끝에서 끝까지 자동화할 수 있습니다.

  • 일관성: 모든 배포가 동일한 단계를 따르므로 예측 가능하고 반복 가능한 프로세스를 보장합니다. 특히 여러 팀원들이 code에 기여할 때 especialmente valuable합니다.

  • 빠른 반복: 자동화된 배포를 통해 업데이트를 더 자주 신뢰롭게 배포할 수 있습니다. 더 이상 수동 QA 또는 릴리즈 승인 기다릴 필요가 없습니다.

Capgo CLI

Capgo CLI

Capgo CLI는 Capgo를 CI/CD 워크플로에 통합하는 데 필요한 키입니다. 새로운 번들 버전을 푸시하는 명령, 채널 관리, 등과 같은 명령을 제공합니다.

CI/CD 통합에 가장 중요한 명령은 bundle upload:

터미널 창
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY

암호화 사용하는 경우, 다음 중 하나에서 제공해야 합니다.

__CAPGO_KEEP_0__을 사용하는 개인 키 파일 경로:

__CAPGO_KEEP_1__ 창
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATH

__CAPGO_KEEP_0__을 사용하는 개인 키 콘텐츠 직접 사용 (CI/CD에 권장):

__CAPGO_KEEP_1__ 창
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENT

__CAPGO_KEEP_0__을 사용하는 환경 변수 (CI/CD에 권장):

__CAPGO_KEEP_1__ 창
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"

__CAPGO_KEEP_0__을 암호화하기 위한 환경 변수 설정

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__ CI/CD 환경에서 개인 키를 파일 대신 환경 변수로 저장하는 것이 권장됩니다. 개인 키를 환경 변수로 설정하는 방법은 다음과 같습니다:

  1. __CAPGO_KEEP_0__ 개인 키 내용을 가져오기:

    터미널 창
    cat .capgo_key_v2 | pbcopy

    개인 키 내용을 클립보드에 복사합니다.

  2. CI/CD 환경에 추가하기:

    • GitHub 액션: 추가 CAPGO_PRIVATE_KEY 리포지토리 비밀에 추가하기
    • GitLab CI: 프로젝트 설정에서 마스킹 변수로 추가하기
    • CircleCI: 프로젝트 설정에서 환경 변수로 추가하기
    • Jenkins: __CAPGO_KEEP_0__을 비밀 텍스트 인증서로 추가하세요
  3. pipeline에서 사용하세요:

    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"

주의: __CAPGO_KEEP_0__은 CI/CD pipeline에서 임시 파일을 생성하지 않고 환경 변수에 직접 private key 내용을 전달할 수 있도록 하는 flag입니다. --key-data-v2 __CAPGO_KEEP_0__를 업로드하는 명령어입니다. 일반적으로 CI/CD pipeline의 마지막 단계로 실행하며, 웹 빌드가 성공적으로 완료된 후에 실행합니다.

__CAPGO_KEEP_0__를 CI/CD Pipeline에 설정하는 방법

Capgo 키를 생성하세요

  1. API: 로그인하여 Capgo 대시보드를 열고 새로운 API 키를 생성하세요. 이 키는 CI/CD 환경에서 사용되는 CLI 인증에 사용됩니다. 이를 비밀로 유지하고 반드시 저장소에 커밋하지 마세요!

  2. 설정 bundle upload 명령: CI/CD 구성에 단계를 추가하여 bundle upload 명령

    업로드.yml
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    \n 대신 Production 배포할 채널을 입력하세요, ${{ secrets.CAPGO_API_KEY }} API 키를 저장하는 환경 변수를 입력하세요, --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" 암호화 사용 시

  3. 추가 upload 웹 빌드 후 단계: __CAPGO_KEEP_0__ 빌드가 성공적으로 완료된 후에 단계가 실행되어야 합니다. 이로 인해 항상 최신 __CAPGO_KEEP_0__을 배포할 수 있습니다. upload step comes after your web build has completed successfully. This ensures you’re always deploying your latest code.\n Here’s an example configuration for GitHub Actions:\n

    업로드.yml
    name: Deploy to Capgo
    on:
    push:
    branches: [main]
    jobs:
    deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-node@v6
    with:
    node-version: '24'
    - run: npm ci
    - run: npm run build
    - run: npm install -g @capgo/cli
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"

__CAPGO_KEEP_0__에서 버전 관리를 위한 권장 방법은 __CAPGO_KEEP_0__의 버전을 파일에 설정하는 것입니다.

__CAPGO_KEEP_0__에서 버전을 가져오는 방법

The recommended way to handle versioning with Capgo is to set the version in your capacitor.config.ts __CAPGO_KEEP_0__에서 버전 관리를 위한 이 방법은 다음과 같은 이점을 제공합니다. package.json:

import pkg from './package.json'
const config: CapacitorConfig = {
// ... other config
plugins: {
CapacitorUpdater: {
version: pkg.version,
}
}
}

Version Management with Semantic-release

  1. 버전 관리와 semantic-release package.json 버전
  2. 최신 버전이 자동으로 포함된 업데이트된 버전으로 앱을 빌드하세요.
  3. 버전이 올바른 버전으로 패키지를 업로드하세요.

CI/CD 워크플로우는 다음과 같습니다.

- run: npm ci
- run: npx semantic-release # Updates package.json version
- run: npm run build # Builds with new version from capacitor.config
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}

Conventional Commits 스펙을 따르는 다음 버전 번호를 결정하기 위해 커밋 메시지를 분석합니다. .releaserc 마지막 릴리스 이후 커밋된 커밋에 기반하여 릴리스 노트를 생성합니다.

{
"branches": [
"main",
{
"name": "beta",
"prerelease": true
}
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/git",
{
"assets": ["CHANGELOG.md", "package.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
]
}

버전

  1. 최신 버전이 자동으로 포함된 업데이트된 버전으로 앱을 빌드하세요.
  2. 버전이 올바른 버전으로 패키지를 업로드하세요.
  3. CI/CD 워크플로우는 다음과 같습니다. CHANGELOG.md 새 릴리즈 노트 파일.
  4. 업데이트 package.json 버전을 업데이트하여, capacitor.config에서 사용할 수 있도록 합니다.
  5. 업데이트된 CHANGELOG.md, package.json및 다른 변경된 파일을 저장소로 다시 커밋합니다.

앱을 빌드하기 전에 semantic-release를 실행하여 업데이트된 버전이 __CAPGO_KEEP_0__.config에서 포함된 것을 확인하세요. package.json is included in your build through the capacitor.config.

Capgo 키

  • : API 키가 유효하고 필요한 권한이 있는지 확인하세요. 환경 변수를 사용하는 경우, 올바르게 설정되었는지 다시 확인하세요.API

  • CLI 버전: Capgo CLI의 최신 버전을 사용 중인지 확인하세요. 이전 버전은 호환성 문제 또는 특정 기능이 누락된 문제가 있을 수 있습니다.

  • 빌드 아티팩트: 웹 빌드가 기대하는 출력 파일을 생성하는지 확인하세요. Capgo CLI는 유효한 웹 빌드를 통해 번들을 생성해야 합니다.

  • 네트워크 연결성: CI/CD 환경이 Capgo 서버에 네트워크 접근 권한이 있는지 확인하세요. 방화벽 또는 프록시 문제가 네트워크 연결성에 영향을 줄 수 있습니다. upload 명령어

문제가 해결되지 않으면, Capgo 지원팀에 문의하세요. 그들은 특정 설정과 관련된 문제를 해결할 수 있습니다.

Capgo을 CI/CD pipeline에 통합하고 버전 관리를 적절하게 설정하면 개발 워크플로우가 크게 개선됩니다. capacitor.config 접근법을 통해 배포를 자동화하고 버전을 관리하면 업데이트를 더 빠르고 신뢰할 수 있습니다.

버전을 __CAPGO_KEEP_1__.config에 설정하는 것이 권장되는 접근 방식입니다. capacitor.config.ts 파일과 semantic-release를 사용하여 업데이트하는 package.json robust하고 신뢰할 수 있는 배포 프로세스를 제공하여 기능을 빌드하는 것에 집중할 수 있도록 하여 수동 릴리스 단계에 대한 걱정에 시간을 낭비하지 않도록 합니다.

더 많은 Capgo CLI 명령어와 옵션에 대한 자세한 내용은 CLI 참조를 참조하십시오. semantic-release 구성에 대한 더 깊은 이해를 원하시면.

semantic-release 문서

를 참조하십시오.

즉시 배포!

CI/CD 통합에서 계속 진행 CI/CD 자동화 계획을 만드는 경우 CI/CD 통합 Capgo CI/CD 제품 워크플로우에서 Capgo CI/CD를 위해 Capgo 네이티브 빌드 제품 워크플로우에서 Capgo 네이티브 빌드 Capgo 통합 제품 워크플로우에서 Capgo 통합 GitHub 액션 통합 제품 구현 세부 사항에서 GitHub 액션 통합 GitLab CI/CD 통합 제품 구현 세부 사항에서 GitLab CI/CD 통합