내용으로 건너뛰기

CI/CD 통합

Integrating Capgo into your CI/CD pipeline allows you to fully automate the process of building and deploying updates to your app. By leveraging the Capgo CLI and semantic-release, you can ensure consistent, reliable deployments and enable rapid iteration.

CI/CD 통합의 이점

자동화
  • Automation: 자동화된 빌드, 테스트 및 배포 프로세스를 끝까지 자동화할 수 있습니다.

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

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

Capgo CLI

Capgo CLI

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

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_0__

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__ --key-data-v2 기호는 CI/CD pipeline에서 임시 파일을 생성하지 않고 환경 변수에서 개인 키 내용을 직접 문자열로 전달할 수 있게 해줍니다.

__CAPGO_KEEP_0__를 업로드하는 명령어는 현재 웹 빌드를 지정된 채널로 업로드합니다. 일반적으로 CI/CD pipeline의 마지막 단계로 실행하며, 웹 빌드가 성공적으로 완료된 후에 실행합니다.

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

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

CI/CD tool의 선택에 따라 정확한 단계는 달라질 수 있지만, Capgo를 통합하는 일반적인 프로세스는 다음과 같습니다.

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

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

    upload.yml
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    대체 Production 원하는 채널로 배포할 때 사용할 변수입니다. ${{ secrets.CAPGO_API_KEY }} with the environment variable holding your API key, and add --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" 추가

  3. if upload __CAPGO_KEEP_0__ 후 웹 빌드 단계: __CAPGO_KEEP_1__이 완료되기 전에 upload GitHub이 완료되기 전에 code이 업로드되도록 하세요. 이렇게 하면 항상 최신 code을 배포할 수 있습니다.

    업로드 예시
    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 }}"

Semantic-release를 사용한 버전 관리

Semantic-release를 사용한 버전 관리

Capgo의 버전 관리를 위해 Capgo에서 버전을 설정하는 것이 권장되는 방법입니다. capacitor.config.ts __CAPGO_KEEP_0__ package.json:

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

이 방법은 __CAPGO_KEEP_0__을 업데이트할 수 있도록 __CAPGO_KEEP_0__을 사용할 수 있습니다.

  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. 버전을 업데이트합니다. CHANGELOG.md __CAPGO_KEEP_0__. 새로운 릴리즈 노트 파일입니다.
  4. 업데이트는 package.json 버전, capacitor.config에서 인식됩니다.
  5. 업데이트된 CHANGELOG.md, package.json, 그리고 다른 변경된 파일을 저장소로 다시 커밋합니다.

__CAPGO_KEEP_0__.config에서 업데이트된 버전이 포함된 빌드를 생성하기 위해 앱을 빌드하기 전에 semantic-release를 실행하십시오. package.json capacitor CI/CD 통합에 문제가 발생하는 경우 해결 방법을 확인하세요.

CI/CD 통합 문제 해결

__CAPGO_KEEP_0__ 키

Capgo 키가 유효하고 필요한 권한이 있는지 확인하십시오. 환경 변수를 사용하는 경우 올바르게 설정되었는지 확인하십시오.

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

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

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

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

: 문제가 해결되지 않으면 Capgo 지원팀에 문의하세요. 그들은 특정 설정과 관련된 문제를 해결하는 데 도움이 될 것입니다.

Capgo 버전을 capacitor에 설정하는 것이 권장되는 접근 방식입니다.

Section titled “Conclusion” capacitor.config.ts 파일과 semantic-release를 사용하여 업데이트하는 package.json robust하고 신뢰할 수 있는 배포 프로세스를 제공하여 개발자가 기능을 구축하는 것에 집중할 수 있도록 하며, 수동 릴리스 단계에 대한 걱정에 시간을 낭비하지 않도록 합니다.

더 많은 Capgo CLI 명령어와 옵션에 대한 자세한 내용은 Capgo 참조 문서를 확인하시기 바랍니다. CLI referenceHappy deploying! CI/CD 통합에서 계속 진행.

CI/CD 통합

CI/CD 자동화 계획을 수립하고 CI/CD 통합을 연결하고

CI/CD 자동화 계획을 수립하고 CI/CD 통합을 연결하고 있습니다.

CI/CD 자동화 계획을 수립하고 CI/CD 통합을 연결하고 있습니다. CI/CD 자동화 계획을 수립하고 CI/CD 통합을 연결하고 있습니다. CI/CD 자동화 계획을 수립하고 CI/CD 통합을 연결하고 있습니다. Capgo CI/CD Capgo CI/CD를 위한 제품 워크플로우 Capgo Native Builds Capgo Native Builds를 위한 제품 워크플로우 Capgo Integrations Capgo Integrations를 위한 제품 워크플로우 GitHub Actions Integration GitHub Actions Integration의 구현 세부 사항, 그리고 GitLab CI/CD Integration GitLab CI/CD Integration의 구현 세부 사항.