내용으로 건너뛰기

CI/CD 통합

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

CI/CD 통합의 이점

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

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

  • Faster iterations: __targetLanguage__에서 자동 배포를 통해 업데이트를 더 자주 신뢰할 수 있게 배포할 수 있습니다. 더 이상 수동 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

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

개인 키 파일 경로를 사용하여:

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

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

  2. CI/CD 환경에 추가하세요.

    • GitHub Actions: 추가 CAPGO_PRIVATE_KEY repository 비밀번호로 추가하세요
    • GitLab CI: 프로젝트 설정에서 마스킹 변수로 추가하세요
    • CircleCI: 프로젝트 설정에서 환경 변수로 추가하세요
    • Jenkins: 프로젝트 설정에서 비밀 텍스트 인증서로 추가하세요
  3. pipeline에서 사용하세요.

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

주의: --key-data-v2 기호는 개인 키 내용을 문자열로 직접 전달할 수 있게 해주며, CI/CD PIPELINE에서 임시 파일을 생성하지 않고 환경 변수를 사용하고 싶을 때 완벽합니다.

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

Capgo 키 생성

  1. : API 대시보드에 로그인하여 새로운 __CAPGO_KEEP_1__ 키를 생성합니다. 이 키는 CI/CD 환경에서 __CAPGO_KEEP_2__을 인증하기 위해 사용됩니다. 비밀로 유지하고 NEVER COMMIT을 NEVER COMMIT하지 마세요!: Log in to the Capgo dashboard and create a new API key. This key will be used to authenticate the CLI in your CI/CD environment. Keep it secret and never commit it to your repository!

  2. __CAPGO_KEEP_0__ bundle upload __CAPGO_KEEP_0__: CI/CD 설정에 업로드 명령어를 추가하세요. bundle upload 명령어와 필요한 인자를 입력하세요:

    업로드.yml
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    \n 업로드할 채널을 입력하세요. Production \n __CAPGO_KEEP_0__ 키를 저장한 환경 변수를 입력하세요. ${{ secrets.CAPGO_API_KEY }} with the environment variable holding your API key, and add --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" 업로드

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

Semantic-release를 사용한 버전 관리

Semantic-release를 사용한 버전 관리 제목

Capgo의 권장 방법은 버전을 설정하는 것입니다. Capgo의 버전을 capacitor.config.ts 파일에서 가져오기 package.json:

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

이 방법을 사용하면 다음을 수행할 수 있습니다.

  1. semantic-release (또는 다른 도구)를 사용하여 버전을 업데이트할 수 있습니다. package.json 업데이트된 버전을 자동으로 포함하는 앱을 빌드할 수 있습니다.
  2. 올바른 버전을 포함하는 번들을 업로드할 수 있습니다.
  3. Semantic-release를 사용한 버전 관리

Your CI/CD workflow would look like this:

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

이것이 __CAPGO_KEEP_0__의 샘플 .releaserc configuration file for semantic-release입니다.

{
"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 spec을 따릅니다.
  2. 최근 릴리스 이후의 커밋에 따라 릴리스 노트를 생성합니다.
  3. 릴리스 노트를 새로 업데이트한 CHANGELOG.md 파일을 업데이트합니다.
  4. 릴리스 노트를 새로 업데이트한 package.json 버전을 업데이트합니다. 이 버전은 capacitor.config에서 사용됩니다.
  5. 업데이트된 CHANGELOG.md, package.json, 그리고 다른 변경된 파일을 저장소로 다시 커밋합니다.

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

Capgo 키

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

  • : CLI __CAPGO_KEEP_1__의 최신 버전을 사용하여야 합니다. 이전 버전은 호환성 문제 또는 특정 기능이 누락된 문제가 있을 수 있습니다.: Make sure you’re using the latest version of the Capgo CLI. Older versions may have compatibility issues or lack certain features.

  • Troubleshooting: Capgo CLI이 생성하는 웹 빌드의 예상 출력 파일이 맞는지 확인하세요. Capgo CLI는 유효한 웹 빌드를 만들기 위해 Capgo CLI가 필요합니다.

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

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

Capgo을 CI/CD pipeline에 통합하고 적절한 버전 관리를 수행하면 개발 워크플로우가 크게streamlined됩니다. 배포를 자동화하고 버전을 capacitor.config 방법을 통해 관리함으로써, 업데이트를 더 빠르고 더 자신감 있게 배포할 수 있습니다.

버전을 설정하는 __CAPGO_KEEP_0__ 방법은 __CAPGO_KEEP_1__ 파일에 버전을 설정하고 semantic-release를 사용하여 업데이트하는 것을 추천합니다. capacitor.config.ts 버전을 설정하는 __CAPGO_KEEP_0__ 방법은 __CAPGO_KEEP_1__ 파일에 버전을 설정하고 semantic-release를 사용하여 업데이트하는 것을 추천합니다. package.json __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 명령어와 옵션에 대한 자세한 내용은 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__을 참조하세요.

Capgo CLI 명령어와 옵션에 대한 자세한 내용은 Capgo CLI을 참조하세요. CLI reference. And for a deeper dive into semantic-release configuration, see the semantic-release docs.

Happy deploying!

CI/CD 통합에서 계속 진행하세요.

CI/CD 통합

CI/CD 자동화 계획을 하는 경우 CI/CD 통합 CI/CD 통합에서 Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo Native Builds 제품 워크플로우에서 Capgo 네이티브 빌드를 Capgo 통합 Capgo 통합에서 제품 워크플로우를 GitHub 액션 통합 GitHub 액션 통합의 구현 세부 사항, 그리고 GitLab CI/CD 통합 GitLab CI/CD 통합의 구현 세부 사항을