Integrazione con Pipelines di Bitbucket
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Integra gli aggiornamenti in tempo reale Capgo con Bitbucket Pipelines per distribuire automaticamente le tue aggiornamenti dell'app ogni volta che puoi spingere code modifiche. Questa guida copre la configurazione delle build automatizzate, dei test e dei flussi di distribuzione.
Requisiti
Sezione intitolata “Requisiti”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 di Bitbucket Pipelines
Sezione intitolata “Configurazione di Bitbucket Pipelines”Passo 1: Configura le variabili del repository
Sezione intitolata “Passo 1: Configura le variabili del repository”In primo luogo, configura le variabili necessarie nel tuo repository Bitbucket:
- Naviga nel tuo repository Bitbucket
- Vai a Impostazioni del repository → Flussi di lavoro → Variabili del repository
- Aggiungi le seguenti variabili:
| Nome della variabile | Valore | Crittografato |
|---|---|---|
CAPGO_TOKEN | Il tuo Capgo API token | ✅ Sì |
Semplice
Sezione intitolata “Semplice”Configurazione base che distribuisce in produzione con ogni push al ramo 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/**Avanzato
Sezione intitolata “Avanzate”Deployamenti di Branch di Feature
Sezione intitolata “Deployamenti di Branch di Feature”Deploya le branch di feature nei canali di test per la revisione e il testing:
# 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/**Utilizzo della Crittografia
Sezione intitolata “Utilizzo della Crittografia”If sei stai utilizzando Capgo’s feature di crittografia, avrai bisogno di memorare la tua chiave privata in modo sicuro nel tuo ambiente CI/CD.
Dopo la configurazione delle 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 (segna come sicuro), quindi utilizzalo 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
Sottosezione intitolata “Configurazione multi-canale”Per informazioni complete sulle impostazioni e la gestione di più canali di distribuzione, consulta la documentazione sui canali.
Configurazione completa con più ambienti e distribuzioni di richiesta di pull:
# 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/**Pipelina Multi-ambiente
Sezione intitolata “Pipelina Multi-ambiente”Per scenari di distribuzione 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 distribuzione basata sul ramo
Sezione intitolata “Strategia di distribuzione basata sul ramo”Distribuisci automaticamente rami diversi nei canali appropriati:
# 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 parallela della Pipelina
Sezione intitolata “Esecuzione parallela della Pipelina”Ottimizza i tempi di build con passaggi 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 productionPratiche di Sicurezza
Sezione intitolata “Pratiche di Sicurezza”Variabili del Repository
Sezione intitolata “Variabili del Repository”- Variabili Sicure: sempre segnala i token API come sicuri
- Variabili di Ambiente: utilizza variabili specifiche per la distribuzione quando necessario
- Controllo dell'Accesso: limita l'accesso al repository ai membri del team autorizzati
- Rotazione dei Token: ruota regolarmente i tuoi token Capgo API
Ambienti di distribuzione
Sezione intitolata “Ambienti di distribuzione”Configura gli ambienti di distribuzione 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 con Slack
Sezione intitolata “Integrazione con Slack”Aggiungi notifiche di Slack al tuo 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 via Email
Sezione intitolata “Notifiche via Email”Configura le notifiche via email attraverso le funzionalità 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 dei problemi
Sezione intitolata “Risoluzione dei problemi”Problemi comuni
Sezione intitolata “Problemi comuni”Il flusso di lavoro fallisce con “Capgo CLI non trovato”:
# 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}"Non trovati gli artefatti di costruzione:
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Flusso di debug
Sezione intitolata “Flusso di debug”Aggiungi informazioni di debug per risolvere 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 del flusso
Sezione intitolata “Validazione del flusso”Abilita la validazione del flusso per catturare gli 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 stepsPassaggi successivi
Sezione intitolata “Passaggi successivi”- Impara su Canali per gestire diversi ambienti di distribuzione
- Esplora Storage personalizzato per scenari di distribuzione avanzati
- Configura Crittografia per distribuzioni sicure
- Configura Comportamento di aggiornamento per personalizzare come vengono applicate le aggiornamenti
Con l'integrazione di Bitbucket Pipelines, puoi automatizzare le tue Capgo distribuzioni e assicurarti aggiornamenti coerenti e affidabili per i tuoi utenti di app mobili.
Continua dall'integrazione di Bitbucket Pipelines
Sezione intitolata “Continua da Bitbucket Pipelines Integration”Se stai utilizzando Bitbucket Pipelines Integration per pianificare l'automazione CI/CD, collega Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD, Capgo Costruzioni Native per il flusso di lavoro del prodotto in Capgo Costruzioni Native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, Integrazione CI/CD per i dettagli di implementazione in Integrazione CI/CD, GitHub Azioni di integrazione per i dettagli di implementazione in GitHub Azioni di integrazione.