Intégration CI/CD
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
La mise en œuvre de Capgo dans votre pipeline CI/CD vous permet de mettre en œuvre automatiquement le processus de construction et de déploiement de mises à jour de votre application. En exploitant les Capgo CLI et semantic-release, vous pouvez vous assurer d'une mise en œuvre cohérente et fiable, et permettre une itération rapide.
Avantages de l'intégration CI/CD
Section intitulée « Avantages de l'intégration CI/CD »-
L'automatisation: Pas plus de démarches manuelles ou de place pour les erreurs humaines. Tout votre processus de construction, de test et de déploiement peut être automatisé de bout en bout.
-
La cohérence: Chaque déploiement suit le même ensemble d'étapes, garantissant un processus prévisible et répétable. C'est particulièrement précieux lorsque vous avez plusieurs membres d'équipe contribuant à code.
-
Les itérations rapides: Avec les déploiements automatisés, vous pouvez envoyer des mises à jour plus fréquemment et avec confiance. Plus besoin d'attendre les approbations de QA ou de lancement manuelles.
Capgo CLI
Section intitulée “Capgo CLI”Le Capgo CLI est la clé pour intégrer Capgo dans votre flux de travail CI/CD. Il fournit des commandes pour envoyer de nouvelles versions de bundle, gérer les canaux, et plus encore.
La commande la plus importante pour l'intégration CI/CD est bundle upload:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEYSi vous utilisez l'encryption, vous devriez le fournir d'une des manières suivantes :
En utilisant un chemin de fichier de clé privée :
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHEn utilisant le contenu de la clé privée directement (recommandé pour CI/CD) :
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENTEn utilisant les variables d'environnement (pratique recommandée pour CI/CD) :
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Configuration des variables d'environnement pour la cryptage
Section intitulée « Configuration des variables d'environnement pour la cryptage »Dans les environnements CI/CD, il est recommandé de stocker votre clé privée en tant que variable d'environnement plutôt qu'en fichier. Voici comment la configurer :
-
Obtenez le contenu de votre clé privée :
Fenêtre de terminal cat .capgo_key_v2 | pbcopyCela copie le contenu de la clé dans votre presse-papier.
-
Ajoutez-l’à votre environnement CI/CD :
- GitHub Actions: Ajoutez
CAPGO_PRIVATE_KEYà vos secrets de repository - GitLab CI: Ajoutez-le comme une variable masquée dans vos paramètres de projet
- CircleCI: Ajoutez-le comme une variable d'environnement dans vos paramètres de projet
- Jenkins: Ajoutez-le comme un secret texte de credenciaux
- GitHub Actions: Ajoutez
-
Utilisez-le dans votre pipeline :
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Note :La --key-data-v2 flag permet de passer le contenu de la clé privée directement sous forme de chaîne, ce qui la rend parfaite pour les variables d'environnement dans les pipelines CI/CD où vous ne souhaitez pas créer de fichiers temporaires.
Cette commande télécharge la dernière mise à jour web vers le canal spécifié. Vous exécuterez généralement cette commande en dernier dans votre pipeline CI/CD, après que votre mise à jour web ait été exécutée avec succès.
Configuration de Capgo dans votre pipeline CI/CD
Section intitulée « Configuration de Capgo dans votre pipeline CI/CD »Même si les étapes exactes varieront en fonction de votre outil CI/CD de choix, le processus général pour intégrer Capgo ressemble à ceci :
-
Générez une clé API: Connectez-vous à l'interface de dashboard de Capgo et créez une nouvelle clé API. Cette clé sera utilisée pour authentifier CLI dans votre environnement CI/CD. Gardez-la secrète et n'y commettez jamais votre repository !
-
Configurez la
bundle uploadcommande : Ajoutez une étape à votre configuration CI/CD qui exécute labundle uploadcommande avec les arguments appropriés :Remplacez parupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionpar le canal que vous souhaitez déployer,${{ secrets.CAPGO_API_KEY }}par la variable d'environnement contenant votre clé API, et ajoutez--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"si vous utilisez l'encryption. -
Ajoutez l'étape après votre build web
upload: Assurez-vous que l'étape suivante se déroule après que votre build web ait été exécuté avec succès. Cela vous garantit toujours de déployer votre dernière __CAPGO_KEEP_0__.\n Voici un exemple de configuration pour les Actions __CAPGO_KEEP_1__ :\nupload.ymluploadstep 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:\nRemplacez par la variable d'environnement contenant votre clé __CAPGO_KEEP_0__ 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 }}"
Gestion de version avec Semantic-release
Titre de la section « Gestion de version avec Semantic-release »La méthode recommandée pour gérer la version avec Capgo consiste à définir la version dans votre fichier en l'important de capacitor.config.ts Copier dans le presse-papiers package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Utiliser semantic-release (ou tout autre outil) pour mettre à jour la
- version
package.jsonConstruire votre application avec la version mise à jour automatiquement incluse - Télécharger le bundle avec la version correcte
- Votre flux de travail CI/CD ressemblerait à ceci :
Votre flux de travail CI/CD ressemblerait à ceci :
- 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 }}Voici un exemple de fichier de configuration pour semantic-release : .releaserc Copier dans le presse-papier
{ "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}" } ] ]}Analyse les messages de commit pour déterminer le numéro de version suivant, en suivant la spécification Conventional Commits.
- Génère des notes de version basées sur les commits depuis la dernière version.
- Met à jour le fichier avec les nouvelles notes de version.
- Met à jour la
CHANGELOG.mdversion, qui sera prise en compte par votre __CAPGO_KEEP_0__.config. - Commite les mises à jour
package.jsonversion, which will be picked up by your capacitor.config. - Updates the version, which will be picked up by your __CAPGO_KEEP_0__.config.
CHANGELOG.md,package.json, et tout autre fichier modifié vers le dépôt.
Assurez-vous de lancer semantic-release avant de construire votre application afin que la version mise à jour soit incluse dans votre build via le __CAPGO_KEEP_0__.config. package.json Augmentez automatiquement lorsque la version locale est déjà sur capacitor
Titre de la section « Augmentez automatiquement lorsque la version locale est déjà sur Capgo »
Section titled “Auto-bump when the local version is already on Capgo”par exemple avec semantic-release). Lorsque cela n'est pas pratique, laissez le __CAPGO_KEEP_0__ choisir la prochaine version semver libre du canal lié au paquet, ou bien la dernière version d'application distante : package.json Fenêtre de terminal package.json (for example with semantic-release). When that is not practical, let the CLI pick the next free semver from the channel’s linked bundle, or else the latest remote app version:
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 uses Capgo Cloudflare Workers AI to compare local bundle files against the previous Capgo/channel delta manifest, pick major | minor | patch | metadata, and print a short reason. With no previous Capgo version, AI is skipped and the bump is mise à jour.
Ne combinez pas --auto-bump avec --bundle / -b. Consultez la bundle upload référence pour la liste complète des options.
If you encounter issues with your Capgo CI/CD integration, here are a few things to check:
-
Si vous rencontrez des problèmes avec votre intégration CI/CD API , voici quelques choses à vérifier :API clé
-
: Assurez-vous que votre clé CLI est valide et dispose des autorisations nécessaires. Si vous utilisez une variable d'environnement, vérifiez que celle-ci est correctement définie. : Assurez-vous d'utiliser la dernière version de la Capgo CLI. Les versions plus anciennes peuvent présenter des problèmes de compatibilité ou manquer certaines fonctionnalités.
-
Artéfacts de construction: Confirmez que votre build web génère les fichiers de sortie attendus. La Capgo CLI nécessite un build web valide pour créer un bundle.
-
Connexion réseau: Vérifiez que votre environnement CI/CD a accès au réseau vers les serveurs Capgo. Les problèmes de pare-feu ou de proxy peuvent parfois interférer avec le
uploadcommande.
: Si vous rencontrez toujours des difficultés, contactez le support Capgo pour obtenir de l'aide. Ils peuvent vous aider à résoudre les problèmes liés à votre configuration spécifique.
Conclusion
: Titre de la section « Conclusion »: L'intégration de Capgo dans votre pipeline CI/CD avec une gestion de version appropriée peut considérablement simplifier votre flux de travail de développement. En automatisant vos déploiements et en versionnant à l'aide de l'approche capacitor.config, vous pouvez déployer des mises à jour plus rapidement et avec plus de confiance.
: L'approche recommandée consiste à définir la version dans votre capacitor.config.ts fichier et à utiliser semantic-release pour mettre à jour package.json propose un processus de déploiement robuste et fiable qui vous permet de vous concentrer sur la création de grandes fonctionnalités plutôt que de vous soucier des étapes de mise en production manuelles.
Pour plus de détails sur les commandes et les options Capgo CLI, consultez la documentation de référence CLI. Et pour une plongée plus profonde dans la configuration de semantic-release, voir les docs de semantic-release.
Joyeux déploiement !
Continuez de l'intégration CI/CD
Titre de la section « Continuez de l'intégration CI/CD »Si vous utilisez l'intégration CI/CD context : Page/zone : Capgo Builder / produit de construction native dans la page de produit de build cloud. Rôle : Étiquette de navigation ou élément UI court. Clé de message `native_build_feature_ci_cd` (Native Build Feature Ci Cd). pour planifier l'automatisation CI/CD, connectez-l’avec l'intégration CI/CD Capgo pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, GitHub Intégration d'actions pour le détail d'implémentation dans GitHub Intégration d'actions, et Intégration CI/CD de GitLab pour le détail d'implémentation dans Intégration CI/CD de GitLab.