Commandes
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Cette page est une vue d'ensemble guidée. Utilisez la référence de commande actuelle pour les drapeaux exacts : app, bundle, canal, et build.
Utilisation
Titre de la section « Utilisation »Toutes les commandes doivent être exécutées dans le dossier de votre application avec le projet capacitor allumé correctement.
npx @capgo/cli@latest init [apikey]
Cette méthode est conçue pour vous guider étape par étape.
Elle ajoutera votre application à Capgo. Elle ajoutera le code à votre application pour valider la mise à jour. De même, elle construira votre application. En outre, elle téléchargera votre application sur Capgo. Et elle vous aidera à vérifier si la mise à jour fonctionne.
npx @capgo/cli login [apikey]
Titre de la section « Connexion » apikey Cette méthode est conçue pour vous rappeler votre __CAPGO_KEEP_0__.
Optionnellement, vous pouvez fournir :
--local Cela stockera votre apikey dans le dépôt local et l'ignorera dans Git.
npx @capgo/cli doctor
Commande pour vérifier si vous êtes à jour avec les Capgo paquets.
Cette commande sera également utile pour les rapports de bogues.
Application
Section intitulée « Application »npx @capgo/cli app add [appId]
[appId] Votre ID d'application au format com.test.app est expliqué ici.
💡 Toutes les options seront devinées dans votre configuration si elles ne sont pas fournies.
Optionnellement, vous pouvez donner :
--icon [/path/to/my/icon]pour avoir un icône personnalisé affiché dans l'application web Capgo.--name [test]pour avoir un nom personnalisé dans la liste.--apikey [key]l’API clé pour se connecter à votre compte.--retention [retention]La période de conservation du bundle d'application en jours, 0 par défaut = infini.
Exemple de capacitor.config.json pour appId et AppName, l'icône est devinée dans le dossier des ressources
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}Configurer
Titre de la section « Configurer »npx @capgo/cli app set [appId]
[appId] est votre ID d'application, la forme est expliquée ici.
Optionnellement, vous pouvez donner :
--icon [/path/to/my/icon]pour avoir une icône personnalisée affichée dans l'application web Capgo.--name [test]pour avoir un nom personnalisé dans la liste.--retention [retention]La période de conservation du bundle d'application en jours, 0 par défaut = infini.--expose-metadata [true|false]exposer les métadonnées du bundle (lien et commentaire) au plugin.--previewou--no-previewQuels sont les avantages de nos solutions alternatives ? Nous vous proposons des solutions alternatives pour répondre à vos besoins spécifiques. Nous sommes là pour vous aider à trouver la solution qui convient le mieux à vos besoins.--allow-device-custom-idou--no-allow-device-custom-idpour contrôler les identifiants de dispositif personnalisés.--block-provider-infra-requestsou--no-block-provider-infra-requestspour bloquer les requêtes de centres de données Google et Apple connus.--build-timeout-minutes [5-360]pour configurer le temps d'attente de la construction native.--ios-store-url [url]ou--android-store-url [url]pour configurer le temps d'attente de la construction native.--default-upload-channel [channel]pour configurer l'URL de la boutique.--default-download-channel [channel]pour configurer le canal d'upload par défaut.--disable-download-channelspour rendre tous les canaux de téléchargement non publics.--apikey [key]la clé API pour vous connecter à votre compte.
npx @capgo/cli app list [appId]
[appId] identifiant de votre application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez donner :
--apikey [key]la clé API pour vous connecter à votre compte.
Supprimer
Section intitulée « Supprimer »npx @capgo/cli app delete [appId]
[appId] identifiant de votre application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez donner :
--apikey [key]la clé API pour vous connecter à votre compte.--bundleavec le numéro de version supprimera uniquement cette version.
Débogage
Section intitulée « Débogage »npx @capgo/cli app debug [appId]
[appId] votre ID d'application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez donner :
--apikey [key]la clé API pour vous connecter à votre compte.--deviceavec le dispositif spécifique que vous souhaitez déboguer
Paramètres
Section intitulée « Paramètres »npx @capgo/cli app setting [path]
Éditez la configuration du Capacitor.
[path] - chemin du paramètre que vous souhaitez modifier. Par exemple, pour modifier le appId, fournissez appId.
Si vous souhaitez désactiver la mise à jour automatique dans le capacitor-updater, fournissez plugins.CapacitorUpdater.autoUpdate avec --string off.
Vous devez fournir soit --string ou --bool!
Options :
--string <string>- définit la configuration à une chaîne--bool <true | false>- définit la configuration à un booléen
Télécharger
Section intitulée « Télécharger »npx @capgo/cli bundle upload [appId]
[appId] Votre ID d'application, le format est expliqué ici.
Optionnellement, vous pouvez donner :
--apikey <apikey>API clé pour se connecter à votre compte.--path <path>Chemin du dossier à télécharger.--channel <channel>Canal à relier.--external <url>Link vers l'URL externe au lieu de télécharger vers Capgo Cloud.--iv-session-key <key>Définir la clé de session et la clé de session pour l'URL du bundle externe.--s3-endpoint <s3Endpoint>URL du point de terminaison S3. Ne fonctionne pas avec les téléchargements delta ou l'option externe.--s3-region <region>Région pour votre conteneur S3.--s3-apikey <apikey>API clé pour votre point de terminaison S3.--s3-apisecret <apisecret>API secret pour votre point de terminaison S3.--s3-bucket-name <bucketName>Nom pour votre conteneur S3 AWS.--s3-port <port>Port pour votre point de terminaison S3.--no-s3-sslDésactiver SSL pour le téléchargement S3.--key <key>Chemin personnalisé pour la clé de signature publique (système v1).--key-data <keyData>Clé de signature publique (système v1).--key-v2 <key>Chemin personnalisé pour la clé de signature privée (système v2).--key-data-v2 <keyData>Clé de signature privée (système v2).--bundle-urlAffiche l'URL du bundle dans la sortie standard.--no-keyEnvoie une mise à jour claire sans tenir compte de la clé de signature.--no-code-checkOmet la vérification si notifyAppReady() est appelé dans le code source et l'index est présent dans le dossier root.--display-iv-sessionAffiche dans la console la clé de session et l'IV utilisés pour chiffrer la mise à jour.--bundle <bundle>Numéro de version du bundle à télécharger.--auto-bump [level]Numéro de version du bundle à télécharger.major,minorVersion du bundle liée au canal, sinon la dernière version d'app distant. Niveau :patch(par défaut),fix),metadata(alias)ai(Workers AI compares local files to the previous Capgo/channel delta manifest, infers the level, and logs a short reason; skips AI and bumpspatch(Workers AI compare les fichiers locaux avec le précédent Capgo/canal delta manifest, infère le niveau et affiche une brève raison ; ignore l'IA et augmente le niveau si aucun précédent Capgo n'est trouvé). Augmente jusqu'à trouver un nom disponible (les noms supprimés restent occupés). Ne peut pas être combiné avec--bundle.--min-update-version <minUpdateVersion>La version minimale requise pour mettre à jour vers cette version. Utilisé uniquement si la mise à jour automatique est désactivée dans le canal.--auto-min-update-versionFixe la version de mise à jour minimale en fonction des packages natifs.--ignore-metadata-checkIgore la vérification des métadonnées (node_modules) lors de l'upload.--ignore-checksum-checkIgore la vérification du checksum lors de l'upload.--timeout <timeout>Temps d'attente pour le processus d'upload en secondes.--deltaEnvoie les fichiers Delta (manifest) aux côtés du bundle complet.--delta-onlyEnvoie uniquement les mises à jour Delta (manifest), en ignorant le bundle complet.--no-deltaDésactive les uploads Delta (manifest) (utile si un mode d'application instantané est activé mais que vous souhaitez un bundle complet).autoUpdateEnvoie le bundle en utilisant le protocole TUS.--tusUtilise le protocole multipart pour envoyer des données à S3, obsolète, utilisez TUS à la place.--multipartUn checksum chiffré (signature). Utilisé uniquement lors de l'upload d'un bundle externe.--encrypted-checksum <encryptedChecksum>Utilise le protocole multipart pour envoyer des données à S3, obsolète, utilisez TUS à la place.--package-json <packageJson>Acheminez un chemin vers package.json. Utile pour les monoproduits.--auto-set-bundleFixez le bundle dans capacitor.config.json.--node-modules <nodeModules>Une liste de chemins vers node_modules. Utile pour les monoproduits (séparés par des virgules, par exemple : ../../node_modules,./node_modules)
Option externe aide à déverrouiller 2 cas : les entreprises avec des préoccupations de confidentialité, n'envoyez pas le code à une tierce partie et les applications plus grandes que 200 MB. Avec cette configuration, Capgo stocke uniquement le lien vers le zip et envoie le lien à toutes les applications.
Capgo cloud ne regarde jamais ce qui se trouve dans le lien (pour l'option externe), ou dans le code lorsqu'il est stocké.
Vous pouvez ajouter une deuxième couche de sécurité en utilisant l'encryption, puis Capgo ne pourra pas regarder ou modifier quoi que ce soit, il devient « sans confiance ».
Exemple de package.json pour la version
{ "version": "1.0.2"}La version doit être supérieure à « 0.0.0 ».
Souvenez-vous de mettre à jour le numéro de version chaque fois que vous envoyez un, le numéro de version ne peut pas être surchargé, ou réutilisé après suppression pour des raisons de sécurité.
Liste
Listenpx @capgo/cli bundle list [appId]
[appId] identifiant de votre application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez fournir :
--apikey [key]API clé pour lier à votre compte.
Supprimer
Listenpx @capgo/cli bundle delete [appId]
[appId] identifiant de votre application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez fournir :
--apikey [key]API clé pour se connecter à votre compte.--bundleavec le numéro de version, cela supprimera uniquement cette version.
Nettoyage
Section intitulée « Nettoyage »dans une plage de version SemVer pour une version majeure vers Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] l'ID de votre application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez donner :
--apikey [key]API clé pour se connecter à votre compte.--bundle [majorVersion]une version que vous souhaitez supprimer les packages précédents pour, cela gardera le dernier +numberToKeep.--keep [numberToKeep]le nombre de packages que vous souhaitez garder (par défaut 4).
Par exemple : Si vous avez 10 versions de 10.0.1 à 10.0.11, et vous utilisez npx @capgo/cli cleanup [appId] --bundle=10.0.0 Ce qui supprimera 10.0.1 à 10.0.6. 10.0.7 jusqu'à 10.0.11 sera conservé.
Si vous avez 20 versions au total, et vous n'avez pas fourni un numéro de bundle comme ceci : npx @capgo/cli cleanup [appId] --keep=2 Cela supprimera 18 versions, et conservera les 2 dernières.
Cette commande demandera confirmation, elle affichera une table de ce qui sera conservé et supprimé.
Chiffrer
Section intitulée « Chiffrer »Avertissement: Cette commande est obsolète et sera supprimée dans la prochaine version majeure. Veuillez utiliser le nouveau système de chiffrage.
npx @capgo/cli bundle encrypt [path/to/zip]
Cette commande est utilisée lorsque vous utilisez une source externe pour stocker votre code ou à des fins de test.
Optionnellement, vous pouvez fournir :
--key [/path/to/my/private_key] le chemin de votre clé privée.
--key-data [privateKey] les données de votre clé privée, si vous souhaitez l'utiliser en ligne direct. ivSessionKeyLa commande imprime votre
y et génère un zip chiffré, pour l'utiliser avec la commande d'importation ou la commande de décryptage.
Chiffrer V2npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
This command is used when you use external source to store your code or for test purpose. The checksum is the sha256 of the bundle (generated by —key-v2), it is used to verify the integrity of the file after decryption. It will be enncrypted with the private key and sent along with the bundle. In encryption v2 the checksum is upgraded to become a “signature” of the bundle.
Cette commande est utilisée lorsque vous utilisez une source externe pour stocker votre __CAPGO_KEEP_0__ ou à des fins de test.
--key [/path/to/my/private_key] Le checksum est la sha256 du bundle (généré par —key-v2), il est utilisé pour vérifier l'intégrité du fichier après décryptage.
--key-data [privateKey] Il sera chiffré avec la clé privée et envoyé avec le bundle.
--json Dans la chiffrer v2, le checksum est mis à jour pour devenir une « signature » du bundle. ivSessionKeyet générer un zip chiffré, pour l'utiliser avec la commande de téléchargement ou la commande de décryptage.
Décrypter
Sous-section intitulée « Décrypter »npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
Vous pouvez optionnellement fournir :
--key [/path/to/my/private_key] le chemin de votre clé privée.
--key-data [privateKey] les données de votre clé privée, si vous souhaitez l'utiliser en ligne. Cette commande est principalement utilisée à des fins de test, elle déchiffrera le zip et affichera la clé de session décryptée en base64 dans la console.
Décrypter V2
Sous-section intitulée « Décrypter V2 »npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
Vous pouvez optionnellement fournir :
--key [/path/to/my/private_key] le chemin de votre clé privée.
--key-data [privateKey] les données de votre clé privée, si vous souhaitez l'utiliser en ligne. Cette commande est principalement utilisée à des fins de test, elle déchiffrera le zip et affichera la clé de session décryptée en base64 dans la console.
--checksum [checksum] le checksum du fichier, il vérifiera le checksum après la décryptage.
npx @capgo/cli bundle zip [appId]
[appId] est votre ID d'application, la forme est expliquée ici.
Optionnellement, vous pouvez donner :
--path [/path/to/my/bundle]pour télécharger un dossier spécifique.--bundle [1.0.0]pour définir le numéro de version du paquet dans le nom du fichier.--name [myapp]pour définir le nom du fichier.--jsonpour afficher les informations sous forme de JSON.--no-code-checkpour ignorer la vérification de code et envoyer le paquet malgré tout.--key-v2pour utiliser le nouveau système de cryptage. Cela est requis car le nouveau système de cryptage utilise des sommes de contrôle plus fiables pour vérifier l'intégrité du fichier.
Compatibilité
Section intitulée « Compatibilité »npx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] est votre ID d'application, la forme est expliquée ici.
[channelName] le nom du canal à vérifier.
Optionnellement, vous pouvez donner :
--apikey [key]API clé pour se connecter à votre compte.--textutilisez du texte au lieu d'émoticônes dans le tableau--channel [channel]le canal à vérifier la compatibilité avec.--package-json <packageJson>Un chemin vers package.json. Utile pour les monorepos--node-modules <nodeModules>Une liste de chemins vers node_modules. Utile pour les monorepos (séparés par des virgules par exemple : ../../node_modules,./node_modules)
npx @capgo/cli channel add [channelName] [appId]
[channelName] le nom de votre nouveau canal, tel que production ou beta. [appId] ou comment créer un nouveau canal ? com.test.app la forme de votre ID d'application est expliquée.
ici
Supprimernpx @capgo/cli channel delete [channelName] [appId]
[channelName] Section intitulée « Supprimer » [appId] le nom du canal que vous souhaitez supprimer. com.test.app la forme de votre ID d'application ici.
npx @capgo/cli channel list [appId]
[appId] la forme de votre ID d'application est expliquée com.test.app ici Vous pouvez également donner :.
__CAPGO_KEEP_0__ clé pour lier à votre compte.
--apikey [key]API key to link to your account.
Section intitulée « Définir »
votre ID d'application, la forme est expliquéenpx @capgo/cli channel set [channelName] [appId]
[appId] ici Optionnellement, vous pouvez donner :.
[channelName] le nom du canal que vous souhaitez configurer, comme production ou beta.
Optionnellement, vous pouvez fournir :
--bundle [1.2.3]votre application bundle déjà envoyé dans le cloud, pour le lier à un canal.--latestobtenir la version du bundle à partir depackage.json:version, ne peut pas être utilisé avec--bundle.--state [ normal | default ]mettre à jour l'état du canal, peut êtrenormaloudefault, doit être utilisé avecdefault.--downgradene permet pas au canal de transmettre une version de dégradation aux appareils.--no-downgradene permet pas au canal de transmettre une version de dégradation aux appareils.--upgradepermet au canal de transmettre une version d'amélioration (majeure) aux appareils.--no-upgradeinterdit au canal d'envoyer la version majeure (major) à des appareils.--iospermet au canal d'envoyer une version à des appareils iOS.--no-iosinterdit au canal d'envoyer une version à des appareils iOS.--androidpermet au canal d'envoyer une version à des appareils Android.--no-androidinterdit au canal d'envoyer une version à des appareils Android.--self-assignpermet aux appareils de s'attribuer automatiquement à ce canal.--no-self-assigninterdit aux appareils de s'attribuer automatiquement à ce canal.--disable-auto-update STRATEGYDésactive la stratégie d'actualisation automatique pour ce canal. Les options possibles sont : major, mineur, patch, métadonnées, aucun.--apikey [key]API clé pour se connecter à votre compte.
Désactive la stratégie d'actualisation.
Titre de la section « Désactive la stratégie d'actualisation »Il existe quelques façons de gérer la désactivation des mises à jour pour des versions trop anciennes.
Capgo ne peut pas mettre à jour les natives code donc une mise à jour d'une version avec les anciennes natives code vers une version avec les natives mises à jour code ne devrait pas être possible.
Il existe plusieurs façons d'y parvenir.
Premièrement, la major stratégie. Elle empêche une mise à jour de la base native 0.0.0 -> bundle cible 1.0.0. Le numéro majeur est le numéro mis en surbrillance (1.0.0 et 0.0.0).
Deuxièmement, la minor stratégie. Elle empêche une mise à jour lorsque le bundle cible a un numéro majeur ou mineur différent de la base native du dispositif, comme 0.0.0 -> 1.1.0 ou 1.1.0 -> 1.2.0.
Troisièmement, la patch stratégie. Elle a été ajoutée dans capgo sous la forme d'un mode très strict. Il ne faut pas l'utiliser à moins de bien comprendre comment elle fonctionne.
Pour qu'elle accepte une mise à jour, les conditions suivantes doivent être remplies :
- Le numéro majeur est le même entre le bundle cible et
version_build - La mineure est la même entre le bundle cible et
version_build - La patch est la même entre le bundle cible et
version_build - Seul le suffixe de version peut différer, comme les préversions (
-beta.2) ou les métadonnées de construction (+build.2)
Ici est un exemple de scénarios dans lesquels l'update est autorisé ou refusé
- 1.0.0-beta.1 -> 1.0.0-beta.2 autorisé
- 1.0.0+build.1 -> 1.0.0+build.2 autorisé
- 1.0.0 -> 1.0.1 bloqué
- 1.0.0 -> 1.1.0 bloqué
- 1.0.0 -> 2.0.0 bloqué
La comparaison de stratégie utilise la base native envoyée comme version_build, et non le bundle téléchargé actuel envoyé comme version_name.
Enfin, la stratégie la plus compliquée. metadata La stratégie.
Pour commencer, vous devez savoir que, initialement, après avoir activé la mise à jour, les mises à jour context: Page/area: Capgo Builder / native cloud build product page. Role: Short UI label or navigation item. Message key `native_build_builder_credit_first` (Native Build Builder Credit First). SE
échoueront car le canal manque de métadonnées requises.
Impossible de trouver les métadonnées
Si vous voyez quelque chose comme cela, vous savez que vous devez aller dans le bundle actuel du canal qui ne fonctionne pas et configurer les métadonnées. misconfigured Premièrement, déterminez quel canal ne fonctionne pas. Vous pouvez le faire en regardant la
Table des erreurs de configuration (Misconfigured table) (Table des erreurs de configuration). Bundle number. Cela devrait vous emmener à la page du bundle.
Une fois là, remplissez le Minimal update version champ. Cela devrait être un Si la valeur que vous passez n'est pas un semver, vous obtiendrez une erreur, mais si tout se passe correctement, vous devriez voir quelque chose comme ceci :.
Définir la version minimale.
CLI fail sans métadonnée.
Vous devez passer le metadata avec le --min-update-version option version semantique valideQuelque chose comme ceci :
Le --min-update-version n'est pas la VOIE UNIQUE pour faire la compatibilité.
Il existe également la --auto-min-update-version . Voici comment cela fonctionne.
Tout d'abord, il regarde la version actuellement téléchargée sur le canal. Il vérifie la compatibilité de la même manière que le bundle compatibility commande le ferait.
Ensuite, si la nouvelle version est 100 % compatible, il réutilise le min_update_version du dernier version dans le canal.
Si ce n'est pas le cas, alors il définit le min_update_version au numéro de paquet de la version téléchargée récemment.
Vous obtiendrez toujours une information sur le min_update_version lorsque vous utilisez cette option. Elle ressemblera à ceci :
Si la nouvelle version n'est pas compatible, elle devrait ressembler à ceci
Chiffrement de bout en bout (sans confiance)
Section intitulée “Chiffrement de bout en bout (sans confiance)”Capgo prend en charge le chiffrement de bout en bout, ce qui signifie que votre bundle (code) est chiffré avant d'être envoyé dans le cloud et déchiffré sur le dispositif. Pour cela, vous devez générer une paire de clés RSA, vous pouvez utiliser la commande suivante pour la générer.
Le système de chiffrement est une combinaison de RSA et AES, la clé RSA est utilisée pour chiffrer la clé AES, et la clé AES est utilisée pour chiffrer le fichier.
Voir ci-dessous pour plus d'informations sur le système de chiffrement.
Schéma de chiffrement
Créer une clé pour votre application
Section intitulée “Créer une clé pour votre application”npx @capgo/cli key create
Optionnellement, vous pouvez donner : --force Pour écraser la clé existante. Cette commande créera pour vous une paire de clés dans votre application, et vous demandera de sauvegarder la clé privée dans un endroit sûr. Il est recommandé de ne pas commit la clé privée dans votre fichier de configuration, et de ne pas la partager avec personne.
Après votre test local, supprimez la clé du fichier de configuration et ajoutez-l’à l'étape CI avec
key save
Enregistrer la clé dans la configuration de votre application
Sous-titre : Enregistrer la clé dans la configuration de votre applicationnpx @capgo/cli key save
Optionnellement, vous pouvez donner :
--key [/path/to/my/public_key] le chemin de votre fichier de clé publique.
--key-data [publicKey] les données de la clé publique, si vous souhaitez l'utiliser inline. Cette commande est utile si vous avez suivi la recommandation et n'avez pas commit la clé dans votre configuration d'application.
Intégration CI
Sous-titre : Intégration CIPour automatiser votre travail, je vous recommande de faire que l'action GitHub s'occupe de la tâche de pousser vers notre serveur
Notre application de démonstration
Section intitulée « Notre application de démonstration »N'oubliez pas de configurer la variable d'environnement CI avec votre API clé
Continuez d'ici les Commandes
Section intitulée « Continuez d'ici les Commandes »Si vous utilisez les Commandes pour planifier le tableau de bord et les opérations API, connectez-l’avec API Vue d'ensemble pour les détails d'implémentation dans API Vue d'ensemble Introduction pour les détails d'implémentation dans Introduction API Clés pour les détails d'implémentation dans API Clés Appareils pour les détails d'implémentation dans Appareils, et Paquets pour les détails d'implémentation dans Paquets.