Integración CI/CD
Copia una línea de comando con los pasos de instalación y la guía de markdown completa para este plugin.
La integración de Capgo en tu pipeline de CI/CD te permite automatizar completamente el proceso de construcción y despliegue de actualizaciones de tu aplicación. Al aprovechar el Capgo CLI y semantic-release, puedes asegurarte de despliegues consistentes y fiables, y habilitar la iteración rápida.
Ventajas de la Integración de CI/CD
Título de la sección “Ventajas de la Integración de CI/CD”-
Automatización: Ya no hay pasos manuales ni espacio para errores humanos. Todo su proceso de construcción, prueba y despliegue puede automatizarse de principio a fin.
-
Consistencia: Cada despliegue sigue el mismo conjunto de pasos, garantizando un proceso predecible y repetible. Esto es especialmente valioso cuando tienes varios miembros del equipo contribuyendo code.
-
Iteraciones más rápidas: Con despliegues automatizados, puedes 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 tu flujo de trabajo CI/CD. Proporciona comandos para enviar nuevas versiones de paquetes, gestionar canales y más.
El comando más importante para la integración 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 un archivo de clave privada con ruta:
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 (buena práctica para CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Configuración de variables de entorno para cifrado
Sección titulada “Configuración de variables de entorno para cifrado”For los entornos 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.
-
Agregarla a tu entorno CI/CD:
- GitHub Acciones: Agregar
CAPGO_PRIVATE_KEYa los secretos de tu repositorio - GitLab CI: Agregarla como una variable oculta en tus configuraciones de proyecto
- CircleCI: Agregue como variable de entorno en sus ajustes de proyecto
- Jenkins: Agregue como credencial de texto secreto
- GitHub Acciones: Agregar
-
Utilícelo en su 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 permite pasar el contenido de la clave privada directamente como una cadena, lo que la hace perfecta para variables de entorno en pipelines de CI/CD donde no se desean crear archivos temporales.
Este comando sube la compilación web actual al canal especificado. Generalmente ejecuta esto como el último paso en su pipeline de CI/CD, después de que su compilación web haya completado con éxito.
Configuración de Capgo en su pipeline de CI/CD
Título de la sección “Configuración de Capgo en su pipeline de CI/CD”Mientras que los pasos exactos variarán dependiendo de la herramienta de CI/CD que elija, el proceso general para integrar Capgo es el siguiente:
-
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 CI/CD. Manténla en secreto y nunca la comitas en tu repositorio!
-
Configura el
bundle uploadcomando: Agrega un paso a tu configuración CI/CD que ejecute elbundle uploadcomando con los argumentos adecuados:\n Reemplazaupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productioncon el canal al que deseas desplegar,${{ secrets.CAPGO_API_KEY }}con la variable de entorno que almacena tu API clave, y agrega--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"si se utiliza cifrado. -
Agregar el paso después de tu compilación web
uploadpaso después de tu compilación web: Asegúrate de que el paso se ejecute después de que tu compilación web haya finalizado con éxito. Esto garantiza que siempre estás desplegando tu última __CAPGO_KEEP_0__.uploadstep comes after your web build has completed successfully. This ensures you’re always deploying your latest code.\n Here’s an example configuration for 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
Sección titulada “Gestión de versiones con Semantic-release”La forma recomendada de manejar la versión con Capgo es establecer la versión en tu archivo por importación desde capacitor.config.ts Copiar a portapapeles package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Copiar a portapapeles
- Utilice semantic-release (o cualquier otra herramienta) para actualizar el
package.jsonversión - Construya su aplicación con la versión actualizada incluida automáticamente
- Suba el paquete con la versión correcta
Su flujo de trabajo de CI/CD sería como sigue:
- 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í hay 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.
- Copiar a portapapeles
- Actualiza el
CHANGELOG.mdarchivo con las notas de la nueva versión. - Actualiza la
package.jsonversión, que será tomada por tu capacitor.config. - Comitea los archivos actualizados
CHANGELOG.md,package.jsony cualquier otro archivo modificado de vuelta a la repositorio.
Asegúrate de ejecutar semantic-release antes de construir tu aplicación para que la versión actualizada de package.json se incluya en tu build a través de la capacitor.config.
Solución de problemas
Sección titulada “Solución de problemas”Si encuentras problemas con la integración de CI/CD de tu Capgo, aquí hay algunas cosas que verificar:
-
API clave: Asegúrese de que su clave API sea válida y tenga los permisos necesarios. Si utiliza una variable de entorno, compruebe que está configurada correctamente.
-
CLI versión: Asegúrese de que esté utilizando la última versión del Capgo CLI. Las versiones antiguas pueden tener problemas de compatibilidad o faltar ciertas características.
-
Artículos de compilación: Confirme que su compilación web está generando los archivos de salida esperados. El Capgo CLI necesita 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 Capgo. Problemas con el firewall o los proxies pueden interferir con el comando.
uploadcomando.
Si sigue teniendo problemas, póngase en contacto con el soporte de Capgo para obtener ayuda. 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 capacitor.config, puede enviar actualizaciones más rápido y con más confianza.
El enfoque recomendado de configuración de la versión en tu capacitor.config.ts archivo y el uso de semantic-release para actualizar package.json proporciona un proceso de despliegue robusto y confiable que te permite enfocarte en crear características excelentes en lugar de preocuparte por los pasos de liberación manual.
Para obtener más detalles sobre los comandos y opciones de Capgo CLI , consulta la CLI referencia. Y para una exploración más profunda de la configuración de semantic-release, consulta los docs de semantic-release.
¡Feliz despliegue!
Sigue adelante desde la Integración de CI/CD
Sección titulada “Sigue adelante desde la Integración de CI/CD”Si estás utilizando Integración de CI/CD para planificar la automatización de CI/CD, conectarla con Capgo automatización de CI/CD para el flujo de trabajo del producto en Capgo automatización de 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 de CI/CD de GitLab para el detalle de implementación en integración de CI/CD de GitLab.