Integrazione Bitbucket Pipelines
Copia un prompt di setup con i passaggi di installazione e la guida markdown completa per questo plugin.
Integra Capgo Live Updates con Bitbucket Pipelines per distribuire automaticamente gli aggiornamenti della tua app ogni volta che fai il push di code. Questa guida spiega come configurare build, test e workflow di deployment automatizzati.
Prerequisiti
Sezione intitolata “Prerequisiti”Prima di configurare l'integrazione con Bitbucket Pipelines, assicurati di avere:
- Un account Bitbucket con un repository
- Un account Capgo con un'app configurata
- Node.js e npm/yarn configurati nel tuo progetto
Configurazione Bitbucket Pipelines
Sezione intitolata “Configurazione di Bitbucket Pipelines”Passaggio 1: Configura le variabili del repository
Sezione intitolata “Passaggio 1: Configura le variabili del repository”Per prima cosa, imposta le variabili necessarie nel tuo repository Bitbucket:
- Vai al tuo repository Bitbucket
- Vai su Impostazioni del repository → Pipelines → Variabili del repository
- Aggiungi le seguenti variabili:
| Nome variabile | Valore | Secured |
|---|---|---|
CAPGO_TOKEN | Il tuo token Capgo API | ✅ Sì |
Semplice
Sezione intitolata “Semplice”Configurazione base per il deploy in produzione ad ogni push sul branch 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/**Avanzato
Sezione intitolata “Avanzato”Deploy di feature branch
Sezione intitolata “Deploy delle feature branch”Esegui il deploy delle feature branch sui canali di test per review e 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/**Utilizzo della crittografia
Sezione “Utilizzo della crittografia”Se utilizzi la funzione di crittografia di Capgo, dovrai salvare la tua chiave privata in modo sicuro nel tuo ambiente CI/CD.
Dopo aver configurato le chiavi di crittografia localmente, aggiungi la tua chiave privata alle variabili di Bitbucket:
# Display your private key content (copy this output)cat .capgo_key_v2Aggiungi questo contenuto come CAPGO_PRIVATE_KEY nelle variabili del tuo repository Bitbucket (impostandola come secured), quindi usala nelle 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 productionConfigurazione multi-canale
Sezione intitolata “Configurazione multi-canale”Per informazioni complete su come configurare e gestire più canali di deployment, consulta la documentazione Channels.
Configurazione completa con più ambienti e deployment tramite 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-Ambiente
Sezione intitolata “Pipeline Multi-Ambiente”Per scenari di deployment complessi con ambienti di staging e produzione:
# 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/**Strategia di Deployment basata su Branch
Sezione intitolata “Strategia di Deployment basata su Branch”Deploy automatico di diversi branch sui canali corretti:
# 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/**Esecuzione Pipeline in Parallelo
Sezione intitolata “Esecuzione Pipeline in Parallelo”Ottimizza i tempi di build con step paralleli:
# 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 productionBest practice di sicurezza
Sezione intitolata “Best practice di sicurezza”Variabili del repository
Sezione intitolata “Variabili del repository”- Variabili protette: Segna sempre i token API come protetti
- Variabili d'ambiente: Usa variabili specifiche per il deployment quando necessario
- Controllo degli accessi: Limita l'accesso al repository ai soli membri autorizzati
- Rotazione dei token: Ruota regolarmente i tuoi token Capgo API
Ambienti di Deployment
Sezione intitolata “Ambienti di Deployment”Configura gli ambienti di deployment per una maggiore sicurezza:
# 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 productionMonitoraggio e notifiche
Sezione intitolata “Monitoraggio e Notifiche”Integrazione Slack
Sezione intitolata “Integrazione Slack”Aggiungi notifiche Slack alla tua 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 fiNotifiche Email
Sezione: “Notifiche email”Configura le notifiche email tramite le funzioni integrate di Bitbucket o utilizzando servizi esterni:
# 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]Risoluzione problemi
Sezione intitolata “Troubleshooting”Problemi comuni
Sezione: “Problemi comuni”La pipeline fallisce con “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 --versionErrori di autenticazione:
# 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}"Artifact di build non trovati:
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Debug della pipeline
Sezione: “Debug Pipeline”Aggiungi informazioni di debug per risolvere i problemi:
# 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 productionValidazione Pipeline
Sezione: “Pipeline Validation”Abilita la validazione della pipeline per rilevare errori di configurazione:
# 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 stepsProssimi passi
Sezione intitolata “Prossimi passi”- Scopri di più su Canali per gestire diversi ambienti di deployment
- Esplora Storage personalizzato per scenari di deployment avanzati
- Configurazione Crittografia per deployment sicuri
- Configura Comportamento degli update per personalizzare come vengono applicati gli update
Con l'integrazione di Bitbucket Pipelines, puoi automatizzare i tuoi deployment Capgo e garantire update coerenti e affidabili ai tuoi utenti mobile.
Continua con l'integrazione Bitbucket Pipelines
Sezione intitolata “Continua con l'integrazione di Bitbucket Pipelines”Se stai usando Integrazione Bitbucket Pipelines per pianificare l'automazione CI/CD, connettilo a CI/CD di Capgo per il workflow di prodotto in Capgo CI/CD, Capgo Native Build per il workflow di prodotto in Capgo Native Builds, Integrazioni Capgo per il workflow di prodotto in Capgo Integrazioni, Integrazione CI/CD per i dettagli implementativi dell'integrazione CI/CD, e Integrazione GitHub Actions per i dettagli implementativi dell'integrazione con GitHub Actions.