Integration von Bitbucket Pipelines
Ein Setup-Prompt mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
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 Bereitstellungsworkflows ab.
Voraussetzungen
Abschnitt mit dem Titel „Voraussetzungen“Bevor Sie die Integration mit Bitbucket Pipelines 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
Einrichtung von Bitbucket Pipelines
Sektion mit dem Titel „Einrichtung von Bitbucket Pipelines“Schritt 1: Repository-Variablen konfigurieren
Sektion mit dem Titel „Schritt 1: Repository-Variablen konfigurieren“Zunächst müssen Sie in Ihrem Bitbucket-Repository die notwendigen Variablen einrichten:
- Zum Bitbucket-Repository navigieren
- Zum Repository-Einstellungen → Pipelines → Repository-Variablen
- Die folgenden Variablen hinzufügen:
| Variablenname | Wert | Geschützt |
|---|---|---|
CAPGO_TOKEN | Ihr Capgo API Token | ✅ Ja |
Grundlegende Konfiguration, die auf jeden Push in die Hauptzweig auf 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
Sektion mit dem Titel “Erweitert”Feature-Zweig-Deployments
Sektion mit dem Titel “Feature-Zweig-Deployments”Deploy Feature-Zweige in Testkanäle für Überprüfung und Testen:
# 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/**Verwendung der Verschlüsselung
Abschnitt mit dem Titel “Verwendung der Verschlüsselung”Wenn Sie die Capgo-Verschlüsselungsfunktion verwenden, müssen Sie Ihren privaten Schlüssel sicher in Ihrem CI/CD-Umgebung speichern.
Nachdem Sie die Verschlüsselungsschlüssel lokal eingerichtet haben fügen Sie Ihren privaten Schlüssel zu den Bitbucket-Variablen hinzu:
# Display your private key content (copy this output)cat .capgo_key_v2Fügen Sie diesen Inhalt als CAPGO_PRIVATE_KEY im Variablenbereich Ihres Bitbucket-Repositorys (als gesichert markieren), dann verwenden Sie es in Pipelines:
# 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 zur Einrichtung und Verwaltung mehrerer Bereitstellungskanäle, siehe die Dokumentation zu Kanälen.
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-Umgebung-Pipeline
Abschnitt mit dem Titel “Multi-Umgebung-Pipeline”Für komplexe Bereitstellungsszenarien 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/**Branch-basierte Bereitstellungstrategie
Abschnitt mit dem Titel “Branch-basierte Bereitstellungstrategie”Automatisch bereitstellen Sie verschiedene Branches in die entsprechenden Kanäle:
# 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/**Parallel Pipeline Ausführung
Sektion: Parallel Pipeline AusführungOptimieren Sie die Buildzeiten 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
Sektion: Sicherheitsbest PracticesRepository Variablen
Sektion: Repository Variablen- Verschlüsselte Variablen : Markieren Sie immer API-Tokens als verschlüsselt
- Umgebungsvariablen : Verwenden Sie deployment-spezifische Variablen, wenn erforderlich
- Zugriffssteuerung: Zugriff auf das Repository auf autorisierte Teammitglieder beschränken
- Tokenrotation: Regelmäßig rotieren Sie Ihre Capgo API-Tokens
Umgebungen für die Bereitstellung
Abschnitt mit dem Titel “Umgebungen für die Bereitstellung”Konfigurieren Sie Umgebungen für die Bereitstellung, um die Sicherheit zu verbessern:
# 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 mit dem Titel “Überwachung und Benachrichtigungen”Slack-Integration
Abschnitt mit dem Titel “Slack-Integration”Benachrichtigungen in Slack zur Pipeline hinzufügen:
# 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 mit dem Titel „E-Mail-Benachrichtigungen“Konfigurieren Sie E-Mail-Benachrichtigungen über die integrierten Funktionen von Bitbucket oder über externe Dienste:
# 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}"Build-Artikel 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-Pipeline”Fügen Sie Debug-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-Validierung”Aktivieren 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 mit dem Titel „Nächste Schritte”- Über Kanäle um verschiedene Bereitstellungsumgebungen zu verwalten
- Entdecken Benutzerdefinierte Speicherung für fortgeschrittene Bereitstellungs-Szenarien
- Einrichten Verschlüsselung für sichere Bereitstellungen
- Konfigurieren Aktualisierungsverhalten um das Anwenden von Updates anzupassen
Mit der Integration von Bitbucket Pipelines können Sie Ihre Capgo-Deployments automatisieren und sicherstellen, dass Ihre mobilen App-Benutzer konsistente und zuverlässige Updates erhalten.
Weitermachen von Bitbucket Pipelines Integration
Abschnitt mit dem Titel “Weitermachen von Bitbucket Pipelines Integration”Wenn Sie Bitbucket Pipelines Integration zur Planung der CI/CD-Automatisierung verwenden, verbinden Sie es mit Capgo CI/CD für den Produktworkflow in Capgo CI/CD, Capgo Native Builds für den Produktworkflow in Capgo Native Builds Capgo Integrations für den Produktworkflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration, und GitHub Aktionen-Integration für die Implementierungsdetails in GitHub Aktionen-Integration.