Integration von Bitbucket Pipelines
Ein kopierbarer Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Integriere Capgo Live Updates mit Bitbucket Pipelines, um Ihre App-Updates automatisch zu deployen, sobald Sie code Änderungen pushen. Diese Anleitung deckt die Einrichtung von automatischen Builds, Tests und Bereitstellungsvorgängen ab.
Voraussetzungen
Abschnitt mit dem Titel “Voraussetzungen”Bevor Sie die Bitbucket Pipelines-Integration einrichten, stellen Sie sicher, dass Sie haben:
- Ein Bitbucket-Konto mit einem Repository
- Ein Capgo-Konto mit einer konfigurierten App
- Node.js und npm/yarn in Ihrem Projekt konfiguriert
Bitbucket Pipelines einrichten
Abschnitt mit dem Titel “Bitbucket Pipelines einrichten”Schritt 1: Repository-Variablen konfigurieren
Abschnitt mit dem Titel „Schritt 1: Konfigurieren Sie Repository-Variablen“Zunächst müssen Sie in Ihrem Bitbucket-Repository die notwendigen Variablen einrichten:
- Navigieren Sie zu Ihrem Bitbucket-Repository
- Zum Repository-Einstellungen → Pipelines → Repository-Variablen
- Fügen Sie die folgenden Variablen hinzu:
| Variablenname | Wert | Geschützt |
|---|---|---|
CAPGO_TOKEN | Ihr Capgo API-Token | ✅ Ja |
Grundlegende Konfiguration, die auf jeden Push in die Hauptzweig in die Produktion deployt:
# 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/**Erweitert
Abschnitt mit dem Titel “Erweitert”Feature-Zweig-Deployments
Abschnitt mit dem Titel “Feature-Zweig-Deployments”Deployen Sie Feature-Zweige in Testkanälen für die Überprüfung und Testung:
# 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/**Abschnitt mit dem Titel “Mit Verschlüsselung arbeiten”
configuring channels in your appWenn Sie das Capgo-Verschlüsselungsfeature verwenden, müssen Sie Ihren privaten Schlüssel sicher in Ihrem CI/CD-Umgebung speichern.
Nachdem Sie die Verschlüsselungs-Schlüssel lokale Einstellungen vorgenommen haben, fügen Sie Ihren privaten Schlüssel den Bitbucket-Variablen hinzu: Terminal-Fenster
# Display your private key content (copy this output)cat .capgo_key_v2in Ihren Bitbucket-Repository-Variablen (als gesichert markieren) ein, und verwenden Sie ihn dann in Pipelines: CAPGO_PRIVATE_KEY Zum Clipboard kopieren
# 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 productionMulti-Channel-Konfiguration
Abschnitt mit dem Titel “Multi-Channel-Konfiguration”Für umfassende Informationen zum Einrichten und Verwalten mehrerer Bereitstellungskanäle, siehe die Kanäldokumentation.
Vollständige Konfiguration mit mehreren Umgebungen und Pull-Request-Bereitstellungen:
# 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/**Multi-Umgebungs-Pipeline
Abschnitt: Multi-Umgebungs-PipelineFür komplexe Bereitstellungs-Szenarien mit Staging- und Produktionsumgebungen:
# 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/**Branchenbasierte Bereitstellungsstrategie
Abschnitt: Branchenbasierte BereitstellungsstrategieAutomatisch verschiedene Branchen in geeignete Kanäle bereitstellen:
# 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/**Paralleler Ausführungsmodus der Pipeline
Abschnitt: Paralleler Ausführungsmodus der PipelineOptimiere Build-Zeiten mit parallelen Schritten:
# 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 productionSicherheitsbest Practices
Abschnitt mit dem Titel „Sicherheitsbest Practices”Repository-Variablen
Abschnitt mit dem Titel „Repository-Variablen”- Sichere Variablen: Markiere immer API-Tokens als sicher
- Umgebungsvariablen: Verwende deployment-spezifische Variablen wenn nötig
- Zugriffssteuerung: Beschränke den Zugriff auf das Repository auf autorisierte Teammitglieder
- Tokenrotation: Rotiere deine Capgo- API-Tokens regelmäßig
Bereitstellungsumgebungen
Abschnitt: BereitstellungsumgebungenKonfigurieren Sie Bereitstellungsumgebungen für bessere Sicherheit:
# 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Überwachung und Benachrichtigungen
Abschnitt: Überwachung und BenachrichtigungenSlack-Integration
Abschnitt: Slack-IntegrationFügen Sie Slack-Benachrichtigungen Ihrem Pipeline hinzu:
# 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 fiE-Mail-Benachrichtigungen
Abschnitt: E-Mail-BenachrichtigungenKonfigurieren Sie E-Mail-Benachrichtigungen über die integrierten Funktionen von Bitbucket oder mit externen Diensten:
# 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]Fehlersuche
Abschnitt mit dem Titel „Fehlersuche“Häufige Probleme
Abschnitt mit dem Titel „Häufige Probleme“Pipeline fehlschlägt mit „Capgo CLI nicht gefunden“:
# Debug CLI installation- step: name: Debug CLI script: - npm install -g @capgo/cli - which capgo || echo "Capgo CLI not found" - npx @capgo/cli --versionAuthentifizierungsfehler:
# 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}"Bauteile nicht gefunden:
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Debug Pipeline
Abschnitt: Debug PipelineFügen Sie Debugging-Informationen hinzu, um Probleme zu lösen:
# 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-Validierung
Abschnitt: Pipeline-ValidierungAktivieren Sie die Pipeline-Validierung, um Konfigurationsfehler zu erkennen:
# 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 stepsNächste Schritte
Abschnitt: Nächste Schritte- Lernen Sie mehr über Kanäle für verschiedene Bereitstellungsumgebungen zu verwalten
- Explore Benutzerdefinierte Speicherung für fortgeschrittene Bereitstellungsszenarien
- Einrichten Verschlüsselung für sichere Bereitstellungen
- Konfigurieren Aktualisierungsverhalten um zu bestimmen, wie Aktualisierungen angewendet werden
Mit der Integration von Bitbucket Pipelines können Sie Ihre Capgo-Bereitstellungen automatisieren und sicherstellen, dass Ihre mobilen App-Benutzer konsistente und zuverlässige Aktualisierungen erhalten.