Bitbucket Pipelines 통합
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사합니다.
Integrate Capgo Live Updates with Bitbucket Pipelines to automatically deploy your app updates whenever you push code changes. This guide covers setting up automated builds, testing, and deployment workflows.
Bitbucket Pipelines
- Bitbucket 계정에 저장소가 있습니다.
- Capgo 계정에 앱을 구성한 상태입니다.
- Node.js와 npm/yarn이 프로젝트에 설정되어 있습니다.
Bitbucket Pipelines 설정
Bitbucket Pipelines 설정1단계: 저장소 변수 구성
1단계: 저장소 변수 구성먼저 Bitbucket 저장소에서 필요한 변수를 설정하세요:
- Bitbucket 저장소로 이동하세요.
- 이동하세요. 저장소 설정 → Pipelines → 저장소 변수
- 다음 변수를 추가하세요:
| 변수 이름 | 값 | 보안 |
|---|---|---|
CAPGO_TOKEN | Capgo Capgo API 토큰 | ✅ 예 |
기본
기본main branch로 푸시될 때마다 프로덕션으로 배포하는 기본 설정:
# bitbucket-pipelines.yml - Simple Configurationimage: node:22
pipelines: branches: main: - step: name: Build and Deploy to Production script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production artifacts: - dist/**고급
기본기능 branch 배포
기능 branch 배포리뷰 및 테스트를 위해 테스트 채널에 기능 branch를 배포:
# Feature branch deploymentpipelines: branches: feature/*: - step: name: Deploy Feature Branch script: - npm ci - npm run test - npm run build - BRANCH_NAME=$(echo $BITBUCKET_BRANCH | sed 's/[^a-zA-Z0-9-]/-/g') - CHANNEL_NAME="feature-$BRANCH_NAME" - npm install -g @capgo/cli - npx @capgo/cli channel create $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**암호화 사용
제목 ‘암호화 사용’Capgo의 암호화 기능을 사용하고 있다면, CI/CD 환경에서 개인 키를 안전하게 저장해야 합니다. Capgo’s encryption feature암호화 키를 설정한 후
로컬에서 개인 키를 설정한 후 Bitbucket 변수에 개인 키를 추가하세요: __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
# Display your private key content (copy this output)cat .capgo_key_v2Bitbucket 저장소 변수에 이 내용을 추가하세요 (보안으로 표시) CAPGO_PRIVATE_KEY Bitbucket 저장소 변수 (보안으로 표시) 에 이 내용을 추가하세요. 그 후 pipeline에서 사용하세요:
# Deploy with encryption- step: name: Deploy to Capgo with Encryption script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --key-data-v2 "$CAPGO_PRIVATE_KEY" --channel production다중 채널 구성
다중 채널 구성 섹션다중 배포 채널을 설정하고 관리하는 데 대한 자세한 정보는 채널 문서를 참조하십시오.
다중 환경 및 Pull Request 배포와 함께 완전한 구성:
# bitbucket-pipelines.yml - Advanced Multi-Channel Configurationimage: node:22
definitions: steps: - step: &build-step name: Build Application script: - npm ci - npm run test - npm run build artifacts: - dist/**
- step: &deploy-step name: Deploy to Capgo script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
pipelines: branches: main: - step: <<: *build-step - step: <<: *deploy-step name: Deploy to Production deployment: production trigger: manual script: - export CHANNEL_NAME=production - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
develop: - step: <<: *build-step - step: <<: *deploy-step name: Deploy to Development deployment: development script: - export CHANNEL_NAME=development - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
pull-requests: '**': - step: <<: *build-step - step: name: Deploy PR to Test Channel script: - CHANNEL_NAME="pr-$BITBUCKET_PR_ID" - npm install -g @capgo/cli - npx @capgo/cli channel create $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**다중 환경 PIPELINE
다중 환경 PIPELINE 섹션단계별 배포 시나리오에 대한 복잡한 배포 시나리오:
# Multi-environment pipelineimage: node:22
pipelines: branches: main: - step: name: Build script: - npm ci - npm run test - npm run build artifacts: - dist/** - step: name: Deploy to Staging deployment: staging script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel staging - step: name: Deploy to Production deployment: production trigger: manual script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production
develop: - step: name: Build and Deploy to Development script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel development artifacts: - dist/**Branch-Based 배포 전략
Branch-Based 배포 전략 섹션다양한 branch를 적절한 채널로 자동으로 배포하세요:
# Dynamic channel deploymentimage: node:22
definitions: scripts: - script: &determine-channel | if [ "$BITBUCKET_BRANCH" = "main" ]; then export CHANNEL_NAME="production" elif [ "$BITBUCKET_BRANCH" = "develop" ]; then export CHANNEL_NAME="staging" else export CHANNEL_NAME="development" fi echo "Deploying to channel: $CHANNEL_NAME"
pipelines: default: - step: name: Build and Deploy script: - npm ci - npm run test - npm run build - *determine-channel - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**병렬 pipeline 실행
병렬 pipeline 실행 섹션병렬 단계를 사용하여 빌드 시간을 최적화하세요:
# Parallel execution pipelineimage: node:22
pipelines: branches: main: - parallel: - step: name: Run Tests script: - npm ci - npm run test - step: name: Lint Code script: - npm ci - npm run lint - step: name: Build Application script: - npm ci - npm run build artifacts: - dist/** - step: name: Deploy to Production deployment: production script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production보안 최적화
저장소 변수저장소 변수 섹션
보안 변수- : 항상 __CAPGO_KEEP_0__ 토큰을 보안 변수로 표시하세요: Always mark API tokens as secured
- 환경 변수: 필요할 때 배포 특정 변수를 사용하세요
- 액세스 제어: 권한이 있는 팀원만 리포지토리 접근을 제한하세요
- 토큰 회전: 정기적으로 Capgo API 토큰을 회전하세요
배포 환경
배포 환경 섹션배포 환경을 더 안전하게 구성하세요:
# Deployment with environment restrictionspipelines: branches: main: - step: name: Deploy to Production deployment: production trigger: manual script: - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production모니터링 및 알림
모니터링 및 알림 섹션슬랙 통합
슬랙 통합 섹션pipeline에 슬랙 알림을 추가하세요:
# Pipeline with Slack notificationspipelines: branches: main: - step: name: Build and Deploy script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel production after-script: - | if [ $BITBUCKET_EXIT_CODE -eq 0 ]; then curl -X POST -H 'Content-type: application/json' \ --data '{"text":"✅ Capgo deployment successful for '$BITBUCKET_BRANCH'"}' \ $SLACK_WEBHOOK_URL else curl -X POST -H 'Content-type: application/json' \ --data '{"text":"❌ Capgo deployment failed for '$BITBUCKET_BRANCH'"}' \ $SLACK_WEBHOOK_URL fi이메일 알림
이메일 알림 섹션Bitbucket 내장 기능을 사용하거나 외부 서비스를 사용하여 이메일 알림을 구성하세요:
# Email notification step- step: name: Send Notification script: - | curl -X POST \ -H "Content-Type: application/json" \ -d '{ "to": "team@yourcompany.com", "subject": "Capgo Deployment Status", "body": "Deployment of '$BITBUCKET_BRANCH' completed with status: '$BITBUCKET_EXIT_CODE'" }' \ $EMAIL_SERVICE_URL condition: result: [successful, failed]문제 해결 섹션
일반적인 문제pipeline이 “Capgo CLI not found”로 실패합니다.
# Debug CLI installation- step: name: Debug CLI script: - npm install -g @capgo/cli - which capgo || echo "Capgo CLI not found" - npx @capgo/cli --version인증 오류:
# Verify token configuration- step: name: Debug Auth script: - | if [ -z "$CAPGO_TOKEN" ]; then echo "CAPGO_TOKEN is not set" exit 1 fi echo "Token length: ${#CAPGO_TOKEN}"빌드 아티팩트가 존재하지 않습니다:
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"디버그 Pipeline
디버그 Pipeline문제를 해결하기 위해 디버깅 정보를 추가하세요:
# Debug pipelinepipelines: branches: main: - step: name: Debug Information script: - echo "Branch: $BITBUCKET_BRANCH" - echo "Commit: $BITBUCKET_COMMIT" - echo "Build: $BITBUCKET_BUILD_NUMBER" - env | grep BITBUCKET_ | sort - step: name: Build and Deploy script: - npm ci - npm run test - npm run build - npm install -g @capgo/cli - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel productionPipeline Validation
Pipeline Validation설정 오류를 잡기 위해 pipeline 검증을 활성화하세요:
# Enable pipeline validationoptions: docker: true size: 2x
pipelines: branches: main: - step: name: Validate Pipeline script: - echo "Pipeline validation successful" - step: name: Build and Deploy script: # ... deployment steps다음 단계
다음 단계- Channels 다양한 배포 환경을 관리하기 위해 자세히 살펴보기
- 고급 배포 시나리오를 위해 설정하기 고급 배포 시나리오를 위해
- 고급 배포 시나리오를 위해 설정하기 안전한 배포를 위해
- 설정 업데이트 동작 업데이트가 적용되는 방식을 맞춤화하려면
Capgo 배포를 자동화하고 모바일 앱 사용자에게 일관된, 신뢰할 수 있는 업데이트를 보장할 수 있습니다.
Bitbucket Pipelines 통합에서 계속 진행
Bitbucket Pipelines 통합에서 계속 진행Bitbucket Pipelines 통합을 사용 중이라면 Bitbucket Pipelines 통합 __CAPGO_KEEP_0__ CI/CD와 연결하여 Capgo CI/CD의 제품 워크플로우 Capgo CI/CD Capgo Native Builds Capgo 제품 워크플로우를 위한 Capgo Native Builds Capgo 통합 Capgo 제품 워크플로우를 위한 Capgo 통합 CI/CD 통합 CI/CD 통합 GitHub 액션 통합 GitHub 액션 통합