Integración de Bitbucket Pipelines
Copia una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Integra Capgo Actualizaciones en vivo con Bitbucket Pipelines para que se desplieguen automáticamente las actualizaciones de tu aplicación cada vez que envíes code cambios. Esta guía cubre la configuración de compilaciones automatizadas, pruebas y flujos de trabajo de despliegue.
Requisitos previos
Título de la sección “Requisitos previos”Antes de configurar la integración de Bitbucket Pipelines, asegúrate de tener:
- Una cuenta de Bitbucket con un repositorio
- Una cuenta de Capgo con una aplicación configurada
- Node.js y npm/yarn configurados en tu proyecto
Configuración de Bitbucket Pipelines
Sección titulada “Configuración de Bitbucket Pipelines”Paso 1: Configura variables de repositorio
Sección titulada “Paso 1: Configura variables de repositorio”Primero, configura las variables necesarias en tu repositorio de Bitbucket:
- Navega a tu repositorio de Bitbucket
- Ir a Configuración de repositorio → Flujos de trabajo → Variables de repositorio
- Agregar las siguientes variables:
| Nombre de la variable | Valor | Seguro |
|---|---|---|
CAPGO_TOKEN | Su token Capgo API | ✅ Sí |
Configuración básica que despliega a producción en cada empuje a la rama principal:
# 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/**Avanzado
Sección titulada “Avanzado”Despliegues de rama de características
Sección titulada “Despliegues de rama de características”Despliega rama de características a canales de prueba para revisión y pruebas:
# 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/**Usando la cifrado
Sección titulada “Usando la cifrado”Si está utilizando Capgo's característica de cifrado, deberá almacenar su clave privada de manera segura en su entorno de CI/CD.
Después de configurar las claves de cifrado localmente, agregue su clave privada a las variables de Bitbucket:
# Display your private key content (copy this output)cat .capgo_key_v2Agregar este contenido como CAPGO_PRIVATE_KEY en tus variables de repositorio de Bitbucket (marcar como seguro), luego utilízalo en 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 productionConfiguración de múltiples canales
Sección titulada “Configuración de múltiples canales”Para obtener información completa sobre la configuración y el manejo de múltiples canales de despliegue, consulte la documentación de canales.
Configuración completa con múltiples entornos y despliegues de solicitudes de extracción:
# 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/**Pipeline de múltiples entornos
Sección titulada “Pipeline de múltiples entornos”Para escenarios de despliegue complejos con entornos de staging y producción:
# 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/**Estrategia de despliegue basada en ramas
Sección titulada “Estrategia de despliegue basada en ramas”Despliega automáticamente diferentes ramas a los canales adecuados:
# 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/**Ejecución de Pipeline Paralela
Sección titulada “Ejecución de Pipeline Paralela”Optimiza los tiempos de compilación con pasos paralelos:
# 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 productionPrácticas de seguridad recomendadas
Sección titulada “Prácticas de seguridad recomendadas”Variables de Repositorio
Sección titulada “Variables de Repositorio”- Variables SegurasSiempre marca los tokens API como variables seguras
- Variables de Entorno: Utiliza variables de despliegue específicas cuando sea necesario
- Control de Acceso: Limita el acceso al repositorio a miembros del equipo autorizados
- Rotación de Tokens: Rota tus Capgo API tokens con regularidad
Entornos de Despliegue
Sección titulada “Entornos de Despliegue”Configura entornos de despliegue para una mayor seguridad:
# 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 productionMonitoreo y Notificaciones
Sección titulada “Monitoreo y Notificaciones”Integración de Slack
Sección titulada “Integración de Slack”Agregar notificaciones de Slack a tu 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 fiNotificaciones por correo electrónico
Sección titulada “Notificaciones por correo electrónico”Configurar notificaciones por correo electrónico a través de las características integradas de Bitbucket o utilizando servicios externos:
# 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]Solución de problemas
Sección titulada “Solución de problemas”Problemas comunes
Sección titulada “Problemas comunes”El pipeline falla con “Capgo CLI no encontrado”:
# Debug CLI installation- step: name: Debug CLI script: - npm install -g @capgo/cli - which capgo || echo "Capgo CLI not found" - npx @capgo/cli --versionErrores de autenticación:
# 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}"No se encontraron artefactos de compilación:
# List build outputs- step: name: Debug Build script: - ls -la dist/ - find dist/ -type f -name "*.js" -o -name "*.html"Depurar Pipeline
Sección titulada “Depurar Pipeline”Agregar información de depuración para solucionar problemas:
# 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 productionValidación de Pipeline
Sección titulada “Validación de Pipeline”Activar la validación de flujo de trabajo para detectar errores de configuración:
# 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 stepsPasos siguientes
Configuración- Conoce Canales para gestionar diferentes entornos de despliegue
- Explora Almacenamiento personalizado para escenarios de despliegue avanzados
- Configura Configuración de cifrado para despliegues seguros
- Configurar Comportamiento de actualización para personalizar cómo se aplican las actualizaciones
Con la integración de Bitbucket Pipelines, puede automatizar sus Capgo despliegues y asegurarse de que las actualizaciones sean consistentes y fiables para los usuarios de su aplicación móvil.
Siga adelante desde la integración de Bitbucket Pipelines
Título de la sección “Siga adelante desde la integración de Bitbucket Pipelines”Si está utilizando Integración de Bitbucket Pipelines para planificar la automatización de CI/CD, conecte con Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD, Capgo Compilaciones nativas para el flujo de trabajo del producto en Capgo Compilaciones nativas Capgo Integraciones para el flujo de trabajo del producto en Capgo Integraciones Integración CI/CD para el detalle de implementación en Integración CI/CD, y GitHub Integración de Acciones para el detalle de implementación en GitHub Integración de Acciones