내용으로 건너뛰기

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이 프로젝트에 설정되어 있습니다.

Capacitor

GitHub

Capgo

code

API

  1. SDK
  2. CLI npm → bun → A __CAPGO_KEEP_0__ 계정에 앱이 구성된 경우
  3. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 변수를 추가하세요:
변수 이름값보안
CAPGO_TOKENCapgo API 토큰✅ 예

기본 설정은 메인 branch로 푸시될 때마다 프로덕션으로 배포됩니다.

# bitbucket-pipelines.yml - Simple Configuration
image: 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 deployment
pipelines:
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 add $CHANNEL_NAME --apikey $CAPGO_TOKEN || true
- npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
artifacts:
- dist/**

암호화 사용

암호화 사용

__CAPGO_KEEP_0__의 암호화 기능을 사용 중이라면, CI/CD 환경에서 개인 키를 안전하게 저장해야 합니다. Capgo의 암호화 기능개인 키를 로컬에서 설정한 후 Bitbucket 변수에 추가하세요:

터미널 창 채널을 통해 테스트하기 채널을 구성하는 방법

암호화 사용
# Display your private key content (copy this output)
cat .capgo_key_v2

Bitbucket 저장소 변수에 추가 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

멀티 채널 구성

Multi-Channel Configuration

다중 채널 구성에 대한 자세한 정보는 채널 문서를 참조하십시오.

다중 환경 및 Pull Request 배포와 함께 완전한 구성:

# bitbucket-pipelines.yml - Advanced Multi-Channel Configuration
image: 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 add $CHANNEL_NAME --apikey $CAPGO_TOKEN || true
- npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME
artifacts:
- dist/**

다중 환경 PipeLine

Multi-Environment Pipeline

단계별 배포 시나리오에 대한 복잡한 환경:

# Multi-environment pipeline
image: 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 Deployment Strategy

Branch-Based Deployment Strategy

다른 branch를 적절한 채널에 자동으로 배포:

# Dynamic channel deployment
image: 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 pipeline
image: 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

보안 최적화

보안 최적화 섹션

저장소 변수

저장소 변수 섹션
  1. 보안 변수: 항상 API 토큰을 보안 변수로 표시하세요
  2. 환경 변수: 사용자 지정 변수를 필요할 때 사용하세요
  3. 권한 관리: 권한이 있는 팀원만 리포지토리 접근을 제한하세요
  4. 토큰 회전: 정기적으로 Capgo API 토큰을 회전하세요

배포 환경

배포 환경

배포 환경을 더 안전하게 구성하세요:

# Deployment with environment restrictions
pipelines:
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

모니터링 및 알림

모니터링 및 알림

슬랙 통합

Slack 통합

pipeline에 Slack 알림 추가:

# Pipeline with Slack notifications
pipelines:
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 pipeline
pipelines:
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 production

PIPELINE 유효성 검사

디버그 PIPELINE 섹션

구성 오류를 잡기 위해 PIPELINE 유효성 검사를 활성화하세요:

# Enable pipeline validation
options:
docker: true
size: 2x
pipelines:
branches:
main:
- step:
name: Validate Pipeline
script:
- echo "Pipeline validation successful"
- step:
name: Build and Deploy
script:
# ... deployment steps

다음 단계

다음 단계

Capgo 배포를 자동화하고 모바일 앱 사용자에게 일관된, 신뢰할 수 있는 업데이트를 보장하는 Bitbucket Pipelines 통합을 사용하세요.

Bitbucket Pipelines 통합에서 계속 진행하세요

Bitbucket Pipelines 통합에서 계속 진행하는 제목

Bitbucket Pipelines 통합을 사용하여 CI/CD 자동화 계획을 만든 경우 Bitbucket Pipelines 통합 __CAPGO_KEEP_0__ CI/CD와 연결하세요 Capgo CI/CD Capgo 네이티브 빌드 Capgo CI/CD Capgo Native Builds Capgo Capgo 제품 워크플로우에 대한 통합을 위해 __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ GitHub GitHub