내용으로 건너뛰기

CI/CD 통합

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

CI/CD 통합의 이점

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

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

  • 빠른 반복: 자동화된 배포를 통해 업데이트를 더 자주 신뢰할 수 있습니다. 더 이상 수동 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

암호화 사용 시, 다음 중 하나의 방법으로 제공해야 합니다.

개인 키 파일 경로를 사용합니다.:

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

개인 키 콘텐츠를 직접 사용 (CI/CD에 권장):

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

환경 변수를 사용 (CI/CD에 권장):

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

암호화에 사용되는 환경 변수 설정

암호화에 사용되는 환경 변수 설정

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

  1. 개인 키 콘텐츠를 가져오세요:

    터미널 창
    cat .capgo_key_v2 | pbcopy

    __CAPGO_KEEP_0__ 작업을 추가하세요.

  2. : 추가

    • GitHub ActionsGitLab CI CAPGO_PRIVATE_KEY : 프로젝트 설정에서 마스킹된 변수로 추가하세요.
    • CircleCI: 프로젝트 설정에서 환경 변수로 추가하세요.
    • __CAPGO_KEEP_0__: 추가
    • 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 플래그는 private key 내용을 문자열로 직접 전달할 수 있게 해주며, CI/CD pipeline에서 임시 파일을 생성하지 않으려는 경우 환경 변수에 적합합니다.

__CAPGO_KEEP_0__을 CI/CD pipeline에 설정하는 방법

Capgo 키를 생성하세요

  1. API을 CI/CD Pipeline에 설정하는 방법: Capgo 로그인 페이지로 이동하여 새로운 API 키를 생성하세요. 이 키는 CI/CD 환경에서 CLI 인증을 위해 사용됩니다. 이를 비밀로 유지하고 반드시 저장소에 커밋하지 마세요!

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

    명령에 적절한 인수를 전달하여 실행하세요:
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    클립보드 복사 Production \n 대체 ${{ secrets.CAPGO_API_KEY }} with the environment variable holding your API key, and add --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" __CAPGO_KEEP_0__ 키를 저장하는 환경 변수를 입력하세요,

  3. 암호화 사용 시 upload 웹 빌드 후 단계: __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_1__을 불러오세요

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,
}
}
}

버전 관리와 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. 커밋 메시지를 분석하여 다음 버전 번호를 결정하기 위해 Conventional Commits 스펙을 따릅니다.
  2. 마지막 릴리스 이후 커밋된 커밋에 기반하여 릴리스 노트를 생성합니다.
  3. 버전 CHANGELOG.md 새 릴리즈 노트 파일.
  4. 업데이트 package.json capacitor 설정에서 버전을 업데이트합니다. 이 버전은 capacitor.config에서 사용됩니다.
  5. __CAPGO_KEEP_0__ CI/CD 통합을 업데이트한 후에 변경된 모든 파일을 저장소에 다시 업로드합니다. CHANGELOG.md, package.json__CAPGO_KEEP_0__ 앱을 빌드하기 전에 semantic-release를 실행하여 업데이트된 버전이 __CAPGO_KEEP_0__.config에서 포함된 것을 확인합니다.

문제 해결 package.json is included in your build through the capacitor.config.

__CAPGO_KEEP_0__ CI/CD 통합과 관련된 문제가 발생하는 경우 확인해야 할 몇 가지 사항이 있습니다.

__CAPGO_KEEP_0__ 키

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

  • APIAPI

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

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

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

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

Integrating Capgo into your CI/CD pipeline with proper version management can greatly streamline your development workflow. By automating your deployments and versioning through the capacitor.config approach, you can ship updates faster and with more confidence.

버전을 __CAPGO_KEEP_1__.config에 설정하는 것이 __CAPGO_KEEP_0__을 CI/CD pipeline에 통합하는 데 권장되는 방법입니다. capacitor.config.ts 파일과 semantic-release를 사용하여 업데이트합니다. package.json robust하고 신뢰할 수 있는 배포 프로세스를 제공하여 개발자가 기능을 구축하는 데 집중할 수 있도록 해 주며, 수동 릴리스 단계에 대한 걱정에 시간을 낭비하지 않도록 합니다.

더 많은 정보에 대해 Capgo CLI 명령어와 옵션에 대해 알아보려면 Capgo 참조 문서를 확인하세요. CLI reference즐거운 배포! 페이지 편집.

이전