Integración CI/CD
Copiar una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este complemento.
La integración de Capgo en tu pipeline de CI/CD te permite automatizar completamente el proceso de construcción y despliegue de actualizaciones en tu aplicación. Al aprovechar el Capgo CLI y semantic-release, puedes asegurar despliegues consistentes y confiables, y habilitar la iteración rápida.
Beneficios de la Integración de CI/CD
Título de la sección “Beneficios de la Integración de CI/CD”-
Automatización: Ya no hay pasos manuales ni espacio para errores humanos. Tu proceso de construcción, prueba y despliegue puede ser automatizado de principio a fin.
-
Consistencia: Cada despliegue sigue el mismo conjunto de pasos, asegurando un proceso predecible y repetible. Esto es especialmente valioso cuando tienes varios miembros del equipo contribuyendo code.
-
Iteraciones más rápidas: Con las implementaciones automatizadas, puede enviar actualizaciones con mayor frecuencia y con confianza. Ya no hay que esperar a la aprobación de QA o de lanzamiento.
Capgo CLI
Sección titulada “Capgo CLI”La Capgo CLI es la clave para integrar Capgo en su flujo de trabajo de CI/CD. Proporciona comandos para enviar nuevas versiones de paquetes, gestionar canales, entre otros.
El comando más importante para la integración de CI/CD es bundle upload:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEYSi utiliza cifrado, debe proporcionarlo de una de las siguientes maneras:
Usando la ruta del archivo de clave privada:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHUsando el contenido de la clave privada directamente (recomendado para CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENTUsando variables de entorno (recomendado para CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Configurando variables de entorno para la cifrado
Sección titulada “Configurando variables de entorno para la cifrado”Para entornos de CI/CD, se recomienda almacenar tu clave privada como una variable de entorno en lugar de un archivo. Aquí está cómo configurarlo:
-
Obtén el contenido de tu clave privada:
Ventana de terminal cat .capgo_key_v2 | pbcopyEsto copia el contenido de la clave a tu portapapeles.
-
Añádelo a tu entorno CI/CD:
- GitHub Acciones: Añádele
CAPGO_PRIVATE_KEYa los secretos de tu repositorio - GitLab CI: Añádelo como una variable oculta en tus ajustes de proyecto
- CircleCI: Añádelo como una variable de entorno en tus ajustes de proyecto
- Jenkins: Añádelo como un credencial de texto secreto
- GitHub Acciones: Añádele
-
Utilízalo en tu pipeline:
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Nota: La --key-data-v2 bandera te permite pasar el contenido de la clave privada directamente como una cadena de texto, lo que la hace ideal para variables de entorno en las cadenas de CI/CD donde no deseas crear archivos temporales.
Este comando sube la compilación web actual al canal especificado. Por lo general, ejecutarás este comando como el último paso en tu cadena de CI/CD, después de que la compilación web haya completado con éxito.
Configuración de Capgo en tu Pipeline de CI/CD
Sección titulada “Configuración de Capgo en tu Pipeline de CI/CD”Si bien los pasos exactos variarán dependiendo de la herramienta de CI/CD que elijas, el proceso general para integrar Capgo se parece a esto:
-
Genera una API clave: Inicia sesión en la consola de Capgo y crea una nueva API clave. Esta clave se utilizará para autenticar el CLI en tu entorno de CI/CD. Manténla en secreto y nunca la comitas a tu repositorio!
-
Configura el
bundle uploadcomando: Agrega un paso a tu configuración de CI/CD que ejecute elbundle uploadcomando con los argumentos adecuados:\n Sustituirupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionpor el canal al que deseas desplegar a:${{ secrets.CAPGO_API_KEY }}por la variable de entorno que contiene tu API clave, y agrega--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"si estás utilizando cifrado. -
Agrega el
uploadpaso después de tu compilación web: Asegúrate de que eluploadpaso se ejecute después de que tu compilación web haya completado con éxito. Esto garantiza que siempre estás desplegando tu último code.\n Aquí tienes un ejemplo de configuración para GitHub Actions:\nupload.yml name: Deploy to Capgoon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v6- uses: actions/setup-node@v6with:node-version: '24'- run: npm ci- run: npm run build- run: npm install -g @capgo/cli- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Gestión de versiones con Semantic-release
Título de la sección “Gestión de versiones con Semantic-release”La forma recomendada de manejar la versión con Capgo es establecer la versión en su capacitor.config.ts archivo importándolo desde package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Esta aproximación te permite:
- Usar semantic-release (o cualquier otra herramienta) para actualizar la
package.jsonversión - Construir tu aplicación con la versión actualizada automáticamente incluida
- Subir el paquete con la versión correcta
Tu flujo de trabajo CI/CD sería como este:
- run: npm ci- run: npx semantic-release # Updates package.json version- run: npm run build # Builds with new version from capacitor.config- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Aquí tienes un archivo de configuración de ejemplo para semantic-release: .releaserc Copiar a portapapeles
{ "branches": [ "main", { "name": "beta", "prerelease": true } ], "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", [ "@semantic-release/git", { "assets": ["CHANGELOG.md", "package.json"], "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" } ] ]}Analiza los mensajes de commit para determinar el número de versión siguiente, siguiendo la especificación de Conventional Commits.
- Genera notas de lanzamiento basadas en los commits desde la última versión.
- Actualiza el archivo con las nuevas notas de lanzamiento.
- Actualiza el archivo con el nuevo número de versión, que será recogido por tu __CAPGO_KEEP_0__.config.
CHANGELOG.mdComitea el archivo actualizado. - Genera notas de lanzamiento basadas en los commits desde la última versión.
package.jsonversion, which will be picked up by your capacitor.config. - Actualiza el archivo con el nuevo número de versión, que será recogido por tu __CAPGO_KEEP_0__.config.
CHANGELOG.md,package.jsony cualquier otro archivo modificado de regreso a la repositorio.
Asegúrese de ejecutar semantic-release antes de compilar su aplicación para que la versión actualizada de package.json se incluya en su compilación a través de la capacitor.config.
Auto-bump cuando la versión local ya está en Capgo
Título de la sección “Auto-bump cuando la versión local ya está en Capgo”Los nombres de los paquetes deben ser únicos (las versiones eliminadas ocupan aún su nombre). Si CI sigue subiendo la misma package.json versión, la subida falla. Prefiera aumentar package.json (por ejemplo con semantic-release). Cuando eso no es práctico, déjale a CLI que elija la próxima versión semver libre del canal vinculado al paquete, o de lo contrario la última versión remota de la aplicación:
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @capgo/cli@latest bundle upload --channel=production --auto-bump ai--auto-bump ai usa Capgo Cloudflare Workers AI para comparar los archivos de paquete locales contra el delta de manifest de canal anterior Capgo, selecciona major | minor | patch | metadatay imprime una breve razón. Sin versión anterior Capgo, se omite el AI y el aumento es Spanish.
/es/docs/getting-started/cicd-integración/ --auto-bump Cloudflare --bundle / -bCapacitor bundle upload GitHub Capgo
code
APIIf you encounter issues with your Capgo CI/CD integration, here are a few things to check:
-
API key: Ensure your API key is valid and has the necessary permissions. If using an environment variable, double check that it’s set correctly.
-
CLI version: Asegúrese de utilizar la versión más reciente de Capgo CLI. Las versiones antiguas pueden tener problemas de compatibilidad o faltarle ciertas características.
-
Artículos de compilación: Confirme que su compilación web está generando los archivos de salida esperados. Capgo CLI requiere una compilación web válida para crear un paquete.
-
Conectividad de red: Verifique que su entorno de CI/CD tenga acceso a Internet a los servidores de Capgo. Problemas con firewalls o proxies pueden interferir con el
uploadcomando.
Si sigue teniendo problemas, póngase en contacto con el soporte de Capgo para obtener asistencia. Pueden ayudarlo a resolver cualquier problema con su configuración específica.
Conclusión
Título de la sección "Conclusión"Integrar Capgo en su pipeline de CI/CD con una gestión de versiones adecuada puede simplificar significativamente su flujo de trabajo de desarrollo. Al automatizar sus despliegues y versionar a través del enfoque de capacitor.config, puede enviar actualizaciones más rápido y con más confianza.
El enfoque recomendado de establecer la versión en su capacitor.config.ts archivo y utilizar semantic-release para actualizar package.json proporciona un proceso de despliegue robusto y confiable que te permite centrarte en la construcción de características excelentes en lugar de preocuparte por los pasos de liberación manual.
Para obtener más detalles sobre los comandos y opciones Capgo CLI, consulta la documentación de referencia de CLI. Y para una exploración más profunda de la configuración de semantic-release, consulta la documentación de semantic-release.
¡Feliz despliegue!
Sigue adelante desde la integración CI/CD
Sección titulada “Sigue adelante desde la integración CI/CD”Si estás utilizando la integración CI/CD contexto: Página/área: Capgo Builder / producto de construcción nativa en la nube. Rol: Etiqueta de UI corta o elemento de navegación. Clave de mensaje `native_build_feature_ci_cd` (Native Build Feature Ci Cd). para planificar la automatización CI/CD, conecta con la integración CI/CD Capgo 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, GitHub Integración de Acciones para el detalle de implementación en GitHub Integración de Acciones, y Integración CI/CD de GitLab para el detalle de implementación en Integración CI/CD de GitLab.