Integración de Pipelines de Bitbucket
Copie una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este complemento.
Integra Capgo actualizaciones en vivo con Bitbucket Pipelines para que se desplieguen automáticamente las actualizaciones de tu aplicación cada vez que hagas code cambios. Este manual cubre la configuración de flujos de trabajo de compilación automática, pruebas y despliegue.
Requisitos previos
Sección titulada “Requisitos previos”Antes de configurar la integración con Bitbucket Pipelines, asegúrate de tener:
- Una cuenta de Bitbucket con un repositorio
- Una Capgo cuenta 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:
- Navegue a su repositorio de Bitbucket
- Ir a Configuración del repositorio → Flujos de trabajo → Variables del repositorio
- Agregar 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 push a la rama principal:
Copiar a portapapelesAvanzada
# 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/**Despliegues de rama de características
Sección titulada “Despliegues de rama de características”Rama de características de despliegue
Sección titulada “Despliegues de Rama de Funcionalidad”Despliegue rama de funcionalidad 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 cifradoDeberás almacenar tu clave privada de manera segura en tu entorno de CI/CD.
Después de configurar las claves de cifrado localmente, agrega tu clave privada a las variables de Bitbucket:
# Display your private key content (copy this output)cat .capgo_key_v2Agrega este contenido como CAPGO_PRIVATE_KEY en las variables de tu repositorio de Bitbucket (marcado como seguro), luego úsalo en las 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 productionSecció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 ladocumentación de canales Configuración completa con múltiples entornos y despliegues de solicitudes de extracción:.
Copiar a portapapeles
# 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/**Sección titulada “Pipeline de múltiples entornos”
__CAPGO_KEEP_0__Para escenarios de implementación 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 Rama
Sección titulada “Estrategia de Despliegue Basada en Rama”Implementar automáticamente diferentes ramas en 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 Paralela de Pipeline
Sección titulada “Ejecución Paralela de Pipeline”Optimizar 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 óptimas
Sección titulada “Prácticas de Seguridad óptimas”Variables del Repositorio
Sección titulada “Variables del Repositorio”- Variables Protegidas: Siempre marque los tokens API como protegidos
- Variables de Entorno: Utilice variables específicas de la implementación cuando sea necesario
- Control de Acceso: Limitar el acceso al repositorio a miembros del equipo autorizados
- Rotación de Tokens: Rotar regularmente sus tokens Capgo API
Ambientes de Implementación
Sección titulada “Ambientes de Implementación”Configure deployment environments 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”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
Sección titulada “Notificaciones por Correo”Configura 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
Sección titulada “Pipline de depuración”Agregar información de depuración para resolver 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”Habilite 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
Sección titulada “Pasos siguientes”- Aprenda sobre Canales para gestionar diferentes entornos de despliegue
- Explora Almacenamiento personalizado para escenarios de implementación avanzados
- Configuración Cifrado para implementaciones seguras
- Configuración Comportamiento de actualización para personalizar cómo se aplican las actualizaciones
Con la integración de Bitbucket Pipelines, puede automatizar sus Capgo implementaciones y garantizar actualizaciones consistentes y confiables para los usuarios de su aplicación móvil.
Siga adelante desde la integración de Bitbucket Pipelines
Sección titulada “Siga adelante desde la integración de Bitbucket Pipelines”Si está utilizando Integración de Pipelines de Bitbucket para planificar la automatización de CI/CD, conectarlo 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 de CI/CD para el detalle de implementación en Integración de CI/CD, y GitHub Integración de Acciones para el detalle de implementación en GitHub Integración de Acciones.