Intégration Bitbucket Pipelines
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Intégrez Capgo Live Updates avec Bitbucket Pipelines pour déployer automatiquement vos mises à jour dès que vous pushez des code changements. Ce guide couvre la configuration des builds automatisés, des tests et des workflows de déploiement.
Prerequisites
Section intitulée « Prérequis »Avant de configurer l'intégration Bitbucket Pipelines, assurez-vous d'avoir :
- Un compte Bitbucket avec un repository
- Un compte Capgo avec une application configurée
- Node.js et npm/yarn configurés dans votre projet
Configuration de Bitbucket Pipelines
Section intitulée « Configuration de Bitbucket Pipelines »Étape 1 : Configurer les variables du dépôt
Section intitulée « Étape 1 : Configurer les variables du dépôt »Tout d'abord, configurez les variables nécessaires dans votre dépôt Bitbucket :
- Accédez à votre dépôt Bitbucket
- Accéder à Paramètres du dépôt → Pipelines → Variables du dépôt
- Ajoutez les variables suivantes :
| Nom de la variable | Valeur | Sécurisé |
|---|---|---|
CAPGO_TOKEN | Votre token Capgo API | ✅ Oui |
Configuration de base pour déployer en production à chaque push sur la branche main :
# 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/**Déploiements de branches feature
Section intitulée « Déploiements de branches feature »Déployez les branches de fonctionnalités vers les canaux de test pour revue et test :
# 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 add $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Utilisation du chiffrement
Section intitulée « Utilisation du chiffrement »Si vous utilisez la fonctionnalité de chiffrement de Capgo, vous devrez stocker votre clé privée de manière sécurisée dans votre environnement CI/CD.
Après la configuration des clés de chiffrement localement, ajoutez votre clé privée aux variables Bitbucket :
# Display your private key content (copy this output)cat .capgo_key_v2Ajoutez ce contenu en tant que CAPGO_PRIVATE_KEY dans les variables de votre dépôt Bitbucket (marquez-la comme sécurisée), puis utilisez-la dans vos 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 productionConfiguration multi-canaux
Section intitulée « Configuration multi-canaux »Pour plus d'informations sur la configuration et la gestion de plusieurs canaux de déploiement, consultez la documentation des canaux.
Configuration complète avec plusieurs environnements et déploiements via 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 add $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Pipeline multi-environnements
Section intitulée « Pipeline multi-environnements »Pour les scénarios de déploiement complexes avec environnements de staging et de production :
# 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/**Stratégie de déploiement par branche
Section intitulée « Stratégie de déploiement par branche »Déployez automatiquement les différentes branches vers les canaux appropriés :
# 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/**Exécution de pipelines en parallèle
Section intitulée « Exécution parallèle du pipeline »Optimisez les temps de build avec des étapes parallèles :
# 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 productionBonnes pratiques de sécurité
Section intitulée « Bonnes pratiques de sécurité »Variables du dépôt
Section intitulée « Variables du dépôt »- Variables sécurisées: Marquez toujours les tokens API comme sécurisés
- Variables d’environnement: Utilisez des variables spécifiques au déploiement si nécessaire
- Contrôle d’accès: Limitez l’accès au dépôt aux membres autorisés de l’équipe
- Rotation des tokens: Faites tourner régulièrement vos tokens Capgo API
Environnements de déploiement
Section intitulée « Environnements de déploiement »Configurez des environnements de déploiement pour une meilleure sécurité :
# 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 productionMonitoring et notifications
Section intitulée « Monitoring et notifications »Intégration Slack
Section intitulée « Intégration Slack »Ajoutez des notifications Slack à votre 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 fiNotifications par e-mail
Section intitulée « Notifications par e-mail »Configurez les notifications par e-mail via les fonctionnalités intégrées de Bitbucket ou en utilisant des services externes :
# 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]Troubleshooting
Section intitulée « Dépannage »Problèmes courants
Section intitulée « Problèmes courants »Le pipeline échoue avec l'erreur « 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 --versionErreurs d'authentification :
# 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}"Les artefacts de build sont introuvables :
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Débogage du pipeline
Section intitulée « Débogage du pipeline »Ajoutez des informations de débogage pour résoudre les problèmes :
# 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 productionValidation du pipeline
Section intitulée « Validation du pipeline »Activez la validation du pipeline pour détecter les erreurs de configuration :
# 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Étapes suivantes
Section intitulée « Étapes suivantes »- En savoir plus sur Canaux pour gérer différents environnements de déploiement
- Explorer Stockage personnalisé pour des scénarios de déploiement avancés
- Configuration Chiffrement pour des déploiements sécurisés
- Configurer Comportement de mise à jour pour personnaliser l'application des mises à jour
Grâce à l'intégration Bitbucket Pipelines, vous pouvez automatiser vos déploiements Capgo et garantir des mises à jour cohérentes et fiables à vos utilisateurs mobiles.
Continuer l'intégration Bitbucket Pipelines
Section intitulée « Continuer l'intégration Bitbucket Pipelines »Si vous utilisez Intégration Bitbucket Pipelines pour planifier l'automatisation CI/CD, et le connecter avec CI/CD Capgo pour le workflow produit dans le CI/CD de Capgo, Capgo Native Build pour le workflow produit dans les Native Builds de Capgo, Intégrations Capgo pour le workflow produit dans les intégrations de Capgo, Intégration CI/CD pour le détail d'implémentation dans l'intégration CI/CD, et Intégration GitHub Actions pour les détails d'implémentation de l'intégration GitHub Actions.