Integración de Pipelines de Bitbucket
Copy un prompt 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
Sección titulada ‘Requisitos previos’Antes de configurar la integración de Bitbucket Pipelines, asegúrate de tener:
- Una cuenta de Bitbucket con un repositorio
- A Capgo con una aplicación configurada
- Node.js y npm/yarn configurados en tu proyecto
Configuración de Bitbucket Pipelines
Título de la sección “Configuración de Bitbucket Pipelines”Paso 1: Configurar variables de repositorio
Paso 1: Configura Variables de RepositorioTítulo de la sección “Paso 1: Configurar variables de repositorio”
- Navegue a su repositorio de Bitbucket
- Vaya a Configuración de repositorio → Pipelines → Pipelines de repositorio
- Agregue las siguientes variables:
| Nombre de la variable | Valor | Seguro |
|---|---|---|
CAPGO_TOKEN | Su Capgo API token | ✅ 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 add $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Usando la cifrado
Título de la sección “Usando la cifrado”Si está utilizando Capgo's característica de cifrado, necesitará 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 gestión 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 add $CHANNEL_NAME --apikey $CAPGO_TOKEN || true - npx @capgo/cli bundle upload --apikey $CAPGO_TOKEN --channel $CHANNEL_NAME artifacts: - dist/**Multi-Entorno de Pipeline
Section titled “Multi-Environment Pipeline”Para escenarios de despliegue complejos con entornos de pruebas 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
Estrategia de despliegue basada en ramaSección titulada “Estrategia de despliegue basada en rama”
# 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
Section titled “Parallel Pipeline Execution”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
Prácticas de seguridad recomendadasVariables de Repositorio
Section titled “Repository Variables”- Variables SegurasSiempre marca los tokens API como protegidos
- Integración con Bitbucket Pipeline: Utilice variables de despliegue específicas cuando sea necesario
- Control de Acceso: Limitar el acceso al repositorio a miembros del equipo autorizados
- Rotación de Tokens: Rotar regularmente sus Capgo API tokens
Entornos de Despliegue
Sección titulada “Entornos de Despliegue”Configure 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 con Slack
Sección titulada “Integración con Slack”Agregue notificaciones de Slack a su 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
Notificaciones por correo electrónicoConfigure 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”La 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"Pipline de depuración
Página titulada “Pipline de depuración”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
Página titulada “Validación de pipeline”Habilitar la validación de pipeline 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
Section titled “Next Steps”- Aprende sobre Canales para administrar diferentes entornos de despliegue
- Explora Almacenamiento personalizado para escenarios de despliegue avanzados
- Configura Cifrado para despliegues seguros
- Configura Comportamiento de actualización para personalizar cómo se aplican las actualizaciones
Con la integración de Pipelines de Bitbucket, puede automatizar sus Capgo despliegues y garantizar actualizaciones consistentes y fiables para los usuarios de su aplicación móvil.
Sigue adelante desde la integración de Pipelines de Bitbucket
Sección titulada “Continúa desde la integración de Pipelines de Bitbucket”Si está utilizando Integración de Pipelines de Bitbucket 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 Acciones de integración para el detalle de implementación en GitHub Acciones de integración.