Intégration Bitbucket Pipelines
Copier un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Intégrez les mises à jour Capgo avec Bitbucket Pipelines pour déployer automatiquement vos mises à jour d'applications chaque fois que vous poussez code des modifications. Ce guide couvre la configuration des workflows de build automatique, de test et 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 dépôt
- 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 : Configurez les variables de votre référentiel
Section intitulée « Étape 1 : Configurez les variables de votre référentiel »Configurez d'abord les variables nécessaires dans votre référentiel Bitbucket :
- Accédez à votre référentiel Bitbucket
- Allez à Paramètres de votre référentiel → Pipelines → Variables de votre référentiel
- Ajoutez les variables suivantes :
| Nom de la variable | Valeur | Sécurisé |
|---|---|---|
CAPGO_TOKEN | Votre jeton Capgo API | ✅ Oui |
Configuration de base qui déploie en production à chaque push vers la branche principale :
# 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 de fonctionnalité
Section intitulée « Déploiements de branches de fonctionnalité »Déployez les branches de fonctionnalité dans les canaux de test pour examen 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 de l'encryption
Section intitulée « Utilisation de l'encryption »Si vous utilisez Capgo's fonctionnalité d'encryption, vous devrez stocker votre clé privée de manière sécurisée dans votre environnement CI/CD.
Après configuration des clés d'encryption locales, ajoutez votre clé privée aux variables de Bitbucket :
# Display your private key content (copy this output)cat .capgo_key_v2Ajoutez ce contenu comme CAPGO_PRIVATE_KEY variables de votre référentiel Bitbucket (marquez comme sécurisé), puis utilisez-les dans les 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 productionSection intitulée « Configuration multimédia »
Section titled “Multi-Channel Configuration”Voir la documentation détaillée sur la configuration et la gestion de plusieurs canaux de déploiement. Documentation des canaux.
Configuration complète avec plusieurs environnements et déploiements de demande de tirage :
# 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-Environnement
Section intitulée « Pipeline Multi-Environnement »Pour les scénarios de déploiement complexes avec des environnements de production et de pré-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 basée sur la branche
Stratégie de déploiement basée sur les branchesDéployez automatiquement différentes branches sur 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 parallèle de la pipeline
Section intitulée « Exécution parallèle de la 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 productionMeilleures Pratiques de Sécurité
Section intitulée « Meilleures Pratiques de Sécurité »Variables de Répertoire
Section intitulée « Variables de Répertoire »- Variables Sécourcies: Marquez toujours les jetons API comme sécurisés
- Variables d'Environnement: Use deployment-specific variables when needed
- Contrôle d'Accès: Limitez l'accès au répertoire aux membres de l'équipe autorisés
- Rotation des jetons: Rotatez régulièrement vos Capgo API jetons
Environnements de déploiement
Section intitulée “Environnements de déploiement”Configurez les 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 productionSurveillance et notifications
Section intitulée “Surveillance 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 à l'aide des fonctionnalités intégrées de Bitbucket ou 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]Diagnostics
Résolution de problèmesSection intitulée « Diagnostics »
Section titled “Common Issues”La pipeline échoue avec “Capgo CLI non trouvé”.
# 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}"Artéfacts de construction non trouvés :
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Débogage de pipeline
Section intitulée « Débogage de pipeline »Ajouter 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 de pipeline
Section intitulée « Validation de pipeline »Activer la validation de 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
- Découvrez Stockage personnalisé Pour des scénarios de déploiement avancés
- Configurer Chiffrement Pour des déploiements sécurisés
- Configurer Comportement de mise à jour personnaliser l'application des mises à jour
Avec l'intégration Bitbucket Pipelines, vous pouvez automatiser vos déploiements Capgo et garantir des mises à jour fiables et cohérentes pour vos utilisateurs d'applications mobiles.
Continuez de Bitbucket Pipelines Integration
Titre de la section « Continuez de Bitbucket Pipelines Integration »Si vous utilisez Intégration Bitbucket Pipelines pour planifier l'automatisation CI/CD, connectez-l’à Capgo CI/CD pour le flux de workflow du produit dans Capgo CI/CD, Capgo Bâtiments natifs pour le flux de workflow du produit dans Capgo Native Builds, Capgo Integrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour les détails d'implémentation dans l'intégration CI/CD, et GitHub Actions d'intégration pour les détails d'implémentation dans GitHub Actions d'intégration.