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. De plus, 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 vos informations de connexion pour vous.
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] Veuillez saisir l'ID de votre application sous le format com.test.app qui est expliqué ici.
💡 Toutes les options seront déduites de votre configuration si elles ne sont pas fournies.
Vous pouvez également donner l'option de
--icon [/path/to/my/icon]afficher un icône personnalisée dans l'application web Capgo.--name [test]donner un nom personnalisé dans la liste.--apikey [key]API pour lier votre compte.--retention [retention]Durée 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 déduite du dossier de ressources
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}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]Durée 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 proposons des solutions alternatives pour répondre à vos besoins spécifiques. Nous comprenons que chaque projet est unique et nécessite une approche personnalisée. Nous sommes là pour vous aider à trouver la solution qui convient le mieux à vos besoins.--allow-device-custom-idpour activer ou désactiver les codes QR de prévisualisation du bundle et du canal.--no-allow-device-custom-idou--block-provider-infra-requestsQuels sont les avantages de nos solutions alternatives ? Nous proposons des solutions alternatives pour répondre à vos besoins spécifiques. Nous comprenons que chaque projet est unique et nécessite une approche personnalisée. Nous sommes là pour vous aider à trouver la solution qui convient le mieux à vos besoins.--no-block-provider-infra-requestspour contrôler les identifiants de dispositif personnalisés.--build-timeout-minutes [5-360]ou--ios-store-url [url]Quels sont les avantages de nos solutions alternatives ? Nous proposons des solutions alternatives pour répondre à vos besoins spécifiques. Nous comprenons que chaque projet est unique et nécessite une approche personnalisée. Nous sommes là pour vous aider à trouver la solution qui convient le mieux à vos besoins.--android-store-url [url]pour bloquer les requêtes de centres de données Google et Apple connus.--default-upload-channel [channel]pour définir le temps d'attente de la construction native.--default-download-channel [channel]ou--disable-download-channelspour rendre tous les canaux de téléchargement non publics.--apikey [key]API clé pour se connecter à votre compte.
npx @capgo/cli app list [appId]
[appId] le format de votre ID d'application est expliqué com.test.app ici Optionnellement, vous pouvez donner :.
__CAPGO_KEEP_0__ clé pour se connecter à votre compte.
--apikey [key]API key to link to your account.
Section intitulée « Supprimer »
le format de votre ID d'application est expliquénpx @capgo/cli app delete [appId]
[appId] ici com.test.app est expliqué ici.
Optionnellement, vous pouvez donner :
--apikey [key]API clé pour se connecter à votre compte.--bundleAvec le numéro de version, seuls cette version sera supprimée.
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]API clé pour se 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 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] il s'agit de votre ID d'application, la forme est expliquée ici.
Optionnellement, vous pouvez fournir :
--apikey <apikey>API clé pour se connecter à votre compte.--path <path>Chemin du dossier à télécharger.--channel <channel>Canal à relier.--external <url>Link to external URL instead of uploading to 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>Clé API pour votre point de terminaison S3.--s3-apisecret <apisecret>Clé secrète API 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 l'upload 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-keyIgnorer la clé de signature et envoyer une mise à jour claire.--no-code-checkIgnorer la vérification si notifyAppReady() est appelé dans le source code et l'index est présent dans le dossier racine.--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,minorAutomatique (par défaut),patchAlias (fix),metadataouaiLe Workers AI compare les fichiers locaux avec le précédent Capgo/delta de manifeste du canal, infère le niveau et affiche une brève raison ; ignore l'IA et augmentepatchsi aucune version précédente Capgo n'est disponible). 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 les métadonnées du canal.--auto-min-update-versionFixe la version minimale de mise à jour 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) en même temps que le 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 vers S3, obsolète, utilisez TUS à la place.--multipartUn checksum chiffré (signature). Utilisé uniquement lors de l'upload d'un bundle externe.--encrypted-checksum <encryptedChecksum>Envoie le bundle en utilisant le protocole TUS.--package-json <packageJson>Acheminez vers le fichier 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.
Le cloud de Capgo 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é, ni réutilisé après suppression pour des raisons de sécurité.
Liste
Listenpx @capgo/cli bundle list [appId]
[appId] votre ID d'application au format com.test.app est expliqué ici.
Optionnellement, vous pouvez fournir :
--apikey [key]API clé pour se connecter à votre compte.
Supprimer
La forme de votre ID d'applicationnpx @capgo/cli bundle delete [appId]
[appId] est expliquée com.test.app ici Optionnellement, vous pouvez fournir : .
Supprimer
--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 SemVer pour une version majeure vers Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] votre ID d'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 Il supprimera 10.0.1 à 10.0.6. 10.0.7 jusqu'à 10.0.11 seront conservés.
Si vous avez 20 versions au total, et que vous n'avez pas fourni un numéro de bundle comme ceci : npx @capgo/cli cleanup [appId] --keep=2 Il supprimera 18 versions, et gardera 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.
La commande imprime votre ivSessionKeyy et génère un zip chiffré, pour l'utiliser avec la commande d'upload ou la commande de décryptage.
Chiffrer V2
Section intitulée “Chiffrer V2”npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
Cette commande est utilisée lorsque vous utilisez une source externe pour stocker votre code ou à des fins de test. 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. Il sera chiffré avec la clé privée et envoyé avec le bundle. Dans la chiffrer v2, le checksum est mis à jour pour devenir une « signature » du bundle.
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.
--json pour afficher les informations sous forme de JSON.
La commande imprime votre 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
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 la 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
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 la 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 quand même.--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 performantes 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] Titre de la section « 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 se connecter à votre compte.
--apikey [key]API key to link to your account.
Section intitulée « Configurer »
votre ID d'application, la forme est expliquéenpx @capgo/cli channel set [channelName] [appId]
[appId] ici ici.
[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, une seule canal doit êtredefault.--downgradepermet au canal d'envoyer une version de dégradation vers les appareils.--no-downgradeinterdit au canal d'envoyer une version de dégradation vers les appareils.--upgradepermet au canal d'envoyer une version d'amélioration (majeure) vers les appareils.--no-upgradeinterdit à la chaîne d'envoyer une mise à niveau (version majeure) vers les appareils.--iospermet à la chaîne d'envoyer une version vers les appareils iOS.--no-iosinterdit à la chaîne d'envoyer une version vers les appareils iOS.--androidpermet à la chaîne d'envoyer une version vers les appareils Android.--no-androidinterdit à la chaîne d'envoyer une version vers les appareils Android.--self-assignpermet aux appareils de s'attribuer automatiquement à cette chaîne.--no-self-assigninterdit aux appareils de s'attribuer automatiquement à cette chaîne.--disable-auto-update STRATEGYDésactive la stratégie d'actualisation automatique pour cette chaîne. Les options possibles sont : majeure, mineure, patch, métadonnées, aucune.--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 les versions trop anciennes.
Capgo ne peut pas mettre à jour la code native, il n'est donc pas possible d'effectuer une mise à jour d'une version avec la code native ancienne à une version avec la code native mise à jour.
Il existe plusieurs façons d'y parvenir.
Premièrement, la major stratégie. Elle empêche une mise à jour de la __CAPGO_KEEP_1__ native de base 0.0.0 -> cible de bundle 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 la cible de bundle a un numéro majeur ou mineur différent du __CAPGO_KEEP_1__ native de base, 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 la cible de bundle et
version_build - Le mineur est le même entre le bundle cible et
version_build - Le patch est le même entre le bundle cible et
version_build - Seul le suffixe de version peut différer, tels que la version bêta (
-beta.2) ou les métadonnées de construction (+build.2)
Voici 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 en version_buildet non le bundle téléchargé actuel envoyé en version_name.
Enfin, la stratégie la plus compliquée. metadata La stratégie.
Tout d'abord, vous devez savoir que, initialement, après avoir activé cela, 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
car le canal manque de métadonnées requises.
Si le canal manque de métadonnées, vous verrez un message comme celui-ci : misconfigured Impossible de trouver les métadonnées
Tout d'abord, déterminez quel canal ne fonctionne pas. Vous pouvez le faire en regardant la colonne « Misconfiguré » (tableau). Bundle number. Cela devrait vous emmener à la page du bundle.
Une fois là, remplissez le Minimal update version champ. Cela devrait être un semver.
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 :
Maintenant, vous n'avez probablement pas envie de saisir ces données manuellement chaque fois que vous mettez à jour. Heureusement, le CLI empêchera de vous envoyer une mise à jour sans ce métadonnée
Pour télécharger correctement un bundle en utilisant l'option, vous devez passer le metadata avec le --min-update-version option avec le une version valide de semver. Voici un exemple :
Le --min-update-version n'est pas la VOIE UNIQUE pour faire de 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 du 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 des informations sur le min_update_version lorsque vous utilisez cette option. Il ressemblera à ceci :
Si la nouvelle version n'est pas compatible, elle devrait ressembler à ceci
Chiffrement de bout en bout (sans confiance)
Sous-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
Sous-section intitulée « Créer une clé pour votre application »npx @capgo/cli key create
Optionnellement, vous pouvez fournir : --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 commiter la clé privée dans votre fichier Git, 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 fournir :
--key [/path/to/my/public_key] L'emplacement 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 pour les Commandes
Section intitulée “Continuez d'ici pour 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 Détails d'implémentation dans l'Introduction, API Clés Détails d'implémentation dans API Clés, Appareils Détails d'implémentation dans les Appareils, et Ensembles Détails d'implémentation dans les Ensembles.