Comandos
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Esta página es una visión general guiada. Utilice la referencia de comandos actualizada para banderas exactas: app, paquete, canal, y compilar.
All comandos deben ejecutarse en la carpeta de su aplicación con capacitor proyecto encendido correctamente.
Iniciar
Sección titulada “Iniciar”npx @capgo/cli@latest init [apikey]
Este método está aquí para llevarlo a través de los pasos de forma gradual.
Se agregará su aplicación a Capgo. También agregará el code a su aplicación para validar la actualización. De manera similar, construirá su aplicación. Además, subirá su aplicación a Capgo. Y le ayudará a verificar si la actualización funciona.
Iniciar sesión
Sección titulada “Iniciar sesión”npx @capgo/cli login [apikey]
Este método está aquí para recordar el apikey por usted.
Opcionalmente puedes dar:
--local Este almacenará tu apikey en el repositorio local y lo ignorará en git.
npx @capgo/cli doctor
Comando para verificar si estás actualizado con Capgo paquetes.
Este comando también será útil para informar errores.
npx @capgo/cli app add [appId]
[appId] su ID de aplicación en el formato com.test.app se explica aquí 💡 Todas las opciones se adivinarán en su configuración si no se proporcionan..
Opcionalmente, puede proporcionar:
para tener un icono personalizado en la aplicación web de __CAPGO_KEEP_0__.
--icon [/path/to/my/icon]to have a custom icon display in Capgo web app.--name [test]__CAPGO_KEEP_0__ clave para vincular a su cuenta.--apikey [key]API key to link to your account.--retention [retention]Ejemplo de
Agregar capacitor.config.json para appId y AppName, el icono se adivina en la carpeta de recursos
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}Configuración
Sección titulada “Configuración”npx @capgo/cli app set [appId]
[appId] es su ID de aplicación, se explica el formato aquí.
Opcionalmente, puede proporcionar:
--icon [/path/to/my/icon]para tener un icono personalizado en la aplicación web de Capgo.--name [test]para tener un nombre personalizado en la lista.--retention [retention]período de retención del paquete de la aplicación en días, 0 por defecto = infinito.--expose-metadata [true|false]para exponer metadatos del paquete (enlace y comentario) al plugin.--previewo--no-previewpara habilitar o deshabilitar los códigos QR de vista previa de paquete y canal.--allow-device-custom-ido--no-allow-device-custom-idpara controlar los IDs de dispositivo personalizados.--block-provider-infra-requestso--no-block-provider-infra-requestspara controlar el bloqueo de solicitudes de centros de datos conocidos de Google y Apple.--build-timeout-minutes [5-360]para establecer el tiempo de construcción nativa.--ios-store-url [url]o--android-store-url [url]para establecer la URL de la tienda.--default-upload-channel [channel]para establecer el canal de carga predeterminado.--default-download-channel [channel]para establecer el canal de descarga predeterminado, o--disable-download-channelspara hacer que todos los canales de descarga sean no públicos.--apikey [key]clave API para vincular a tu cuenta.
npx @capgo/cli app list [appId]
[appId] su ID de aplicación en el formato com.test.app se explica aquí Opcionalmente, puede proporcionar:.
__CAPGO_KEEP_0__ clave para vincular a su cuenta.
--apikey [key]API key to link to your account.
Sección titulada “Eliminar”
su ID de aplicación en el formatonpx @capgo/cli app delete [appId]
[appId] se explica aquí com.test.app Opcionalmente, puede proporcionar: __CAPGO_KEEP_0__ clave para vincular a su cuenta..
Opcionalmente, puedes proporcionar:
--apikey [key]API clave para vincular a tu cuenta.--bundlecon el número de versión solo eliminará esta versión.
Depuración
Sección titulada “Depuración”npx @capgo/cli app debug [appId]
[appId] tu ID de aplicación en el formato com.test.app se explica aquí.
Opcionalmente, puedes proporcionar:
--apikey [key]API clave para vincular a tu cuenta.--devicecon el dispositivo específico que deseas depurar
Configuración
Sección titulada “Configuración”npx @capgo/cli app setting [path]
Edita la configuración Capacitor.
[path] - ruta de la configuración que deseas cambiar. Por ejemplo, para cambiar el appId, proporciona appId.
Si deseas deshabilitar la actualización automática en el capacitor-updater, proporciona plugins.CapacitorUpdater.autoUpdate con --string off.
DEBES proporcionar uno de los siguientes: --string Opciones: --bool!
- establece la configuración en una cadena
--string <string>- establece la configuración en un valor booleano--bool <true | false>Opciones:
Paquete
Sección titulada “Paquete”npx @capgo/cli bundle upload [appId]
[appId] es su ID de aplicación, se explica el formato aquí Aquí.
Opcionalmente, puede proporcionar:
--apikey <apikey>API clave para vincular a su cuenta.--path <path>Ruta del folder para subir.--channel <channel>Canales para vincular.--external <url>Vincular a una URL externa en lugar de subir a Capgo Cloud.--iv-session-key <key>Establecer la clave de inicialización y la clave de sesión para la URL del paquete externo.--s3-endpoint <s3Endpoint>URL del punto de conexión de S3. No funciona con subidas delta o la opción externa.--s3-region <region>Región para tu contenedor S3.--s3-apikey <apikey>API clave para tu punto de conexión de S3.--s3-apisecret <apisecret>API secreto para tu punto de conexión de S3.--s3-bucket-name <bucketName>Nombre para tu contenedor S3 de AWS.--s3-port <port>Puerto para tu punto de conexión de S3.--no-s3-sslDeshabilitar SSL para la subida de S3.--key <key>Ruta personalizada para la clave de firma pública (sistema v1).--key-data <keyData>Clave de firma pública (sistema v1).--key-v2 <key>Ruta personalizada para la clave de firma privada (sistema v2).--key-data-v2 <keyData>Clave de firma privada (sistema v2).--bundle-urlImprime la URL del paquete en la salida estándar.--no-keyIgnora la clave de firma y envía actualización clara.--no-code-checkIgnora la comprobación de si notifyAppReady() se llama en la fuente code y el índice presente en la carpeta raíz.--display-iv-sessionMuestra en la consola la clave de IV y la clave de sesión utilizadas para cifrar la actualización.--bundle <bundle>Número de versión del paquete a subir.--min-update-version <minUpdateVersion>Número de versión mínima requerida para actualizar a esta versión. Se utiliza solo si se establece la actualización automática a metadata en el canal.--auto-min-update-versionEstablece la versión de actualización mínima basada en paquetes nativos.--ignore-metadata-checkIgnora la comprobación de metadata (node_modules) al subir.--ignore-checksum-checkIgnora la comprobación de verificación de integridad al subir.--timeout <timeout>Tiempo de espera para el proceso de subida en segundos.--deltaSube archivos Delta (manifest) junto con el paquete completo.--delta-onlySube solo actualizaciones Delta (manifest), saltándose el paquete completo.--no-deltaDeshabilita la subida de archivos Delta (manifest) (útil si se requiere una aplicación instantánea).autoUpdatemodo está habilitado pero quieres un paquete completo).--tusSube el paquete utilizando el protocolo tus.--multipartUtiliza el protocolo multipart para subir datos a S3, Obsoleto, utiliza TUS en su lugar.--encrypted-checksum <encryptedChecksum>Un resumen cifrado (firmado). Se utiliza solo cuando se sube un paquete externo.--package-json <packageJson>Un camino al archivo package.json. Útil para monorepos.--auto-set-bundleEstablece el paquete en capacitor.config.json.--node-modules <nodeModules>Una lista de caminos a node_modules. Útil para monorepos (separados por comas, ejemplo: ../../node_modules,./node_modules)
⭐️ La opción externa ayuda a desbloquear 2 casos: corporativo con preocupaciones de privacidad, no envía el code a una tercera parte y aplicación mayor a 200 MB. Con esta configuración, Capgo almacena solo el enlace al archivo zip y envía el enlace a todas las aplicaciones.
👀 El Capgo de la nube nunca mira qué hay en el enlace (para la opción externa), o en el code cuando se almacena.
🔑 Puedes agregar una segunda capa de seguridad utilizando la cifrado, entonces Capgo no podrá mirar o modificar nada, se vuelve “sin confianza”.
Ejemplo de package.json para versión
{ "version": "1.0.2"}⛔ La versión debe ser mayor que “0.0.0”.
💡 No olvides actualizar el número de versión cada vez que lo envíes, el número de versión no se puede sobreescribir ni reutilizar después de la eliminación por razones de seguridad.
npx @capgo/cli bundle list [appId]
[appId] tu ID de aplicación en el formato com.test.app se explica aquí.
Opcionalmente, puedes proporcionar:
--apikey [key]API clave para vincular a tu cuenta.
Eliminar
Sección titulada “Eliminar”npx @capgo/cli bundle delete [appId]
[appId] su ID de aplicación en el formato com.test.app se explica aquí.
Opcionalmente, puede proporcionar:
--apikey [key]API clave para vincular a su cuenta.--bundlecon el número de versión solo eliminará esta versión.
Limpieza
Sección titulada “Limpieza”en un rango SemVer para una versión mayor a Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] su ID de aplicación en el formato com.test.app se explica aquí.
Opcionalmente, puedes proporcionar:
--apikey [key]La clave API para vincular a tu cuenta.--bundle [majorVersion]una versión que desees eliminar paquetes anteriores para, mantendrá la última +numberToKeep.--keep [numberToKeep]el número de paquetes que deseas mantener (por defecto 4).
Por ejemplo: Si tienes 10 versiones desde 10.0.1 a 10.0.11, y lo usas npx @capgo/cli cleanup [appId] --bundle=10.0.0 eliminará 10.0.1 a 10.0.6. 10.0.7 hasta 10.0.11 se mantendrán.
Si tienes 20 versiones en total, y no proporcionas un número de paquete como este: npx @capgo/cli cleanup [appId] --keep=2 eliminará 18 versiones, y mantendrá las últimas 2.
Este comando solicitará confirmación, muestra una tabla de qué se mantendrá y qué se eliminará.
Advertencia: Este comando está descontinuado y se eliminará en la próxima versión mayor. Por favor, utilice el nuevo sistema de cifrado.
npx @capgo/cli bundle encrypt [path/to/zip]
Este comando se utiliza cuando utilizas una fuente externa para almacenar tu code o para fines de prueba.
Opcionalmente, puedes proporcionar:
--key [/path/to/my/private_key] la ruta de tu clave privada.
--key-data [privateKey] los datos de la clave privada, si deseas utilizarla de forma inline. ivSessionKeyEl comando imprimirá tu
y generará un archivo zip cifrado, para utilizarlo con el comando de carga o el comando de descifrado.
Cifrar 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.
Opcionalmete, puedes proporcionar:
--key [/path/to/my/private_key] la ruta de tu clave privada.
--key-data [privateKey] los datos de la clave privada, si deseas utilizarla de forma inline.
--json para que la información se imprima en formato JSON. ivSessionKeyEl comando imprimirá tu
y generará un archivo zip cifrado, para utilizarlo con el comando de carga o el comando de descifrado.
Descifrarnpx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
Sección titulada “Descifrar”
--key [/path/to/my/private_key] Opcionalmete, puedes proporcionar:
--key-data [privateKey] la ruta de tu clave privada.
los datos de la clave privada, si deseas utilizarla de forma inline. Este comando se utiliza principalmente con fines de prueba, ya que descifra el archivo zip y imprime la clave de sesión base64 descifrada en la consola.
Descifrar V2 (Versión 2 de Descifrar)npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
Opcionalmente, puedes proporcionar:
--key [/path/to/my/private_key] la ruta de tu clave privada.
--key-data [privateKey] los datos de la clave privada, si deseas utilizar inline. Este comando se utiliza principalmente con fines de prueba, descifra el zip y imprime la clave de sesión base64 descifrada en la consola.
--checksum [checksum] el checksum del archivo, verificará el checksum después de la descifrado.
npx @capgo/cli bundle zip [appId]
[appId] es tu ID de aplicación, el formato se explica aquí.
Opcionalmente, puedes proporcionar:
--path [/path/to/my/bundle]para subir un carpeta específica.--bundle [1.0.0]para establecer el número de versión del paquete del nombre del archivo.--name [myapp]para sobreescribir el nombre del archivo.--jsonsalida de información en formato JSON.--no-code-checkignorar la comprobación de code y enviar el paquete de todos modos.--key-v2utilizar el nuevo sistema de cifrado. Esto es necesario ya que el nuevo sistema de cifrado utiliza mejores sumatorios de verificación para verificar la integridad del archivo.
Compatibilidad
Sección titulada “Compatibilidad”npx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] su ID de aplicación, el formato se explica aquí.
[channelName] el nombre del canal para verificar la compatibilidad.
Opcionalmente, puedes proporcionar:
--apikey [key]API clave para vincular a tu cuenta.--textutilizar texto en lugar de emojis en la tabla--channel [channel]el canal para verificar la compatibilidad.--package-json <packageJson>A ruta de package.json. Útil para monorepos--node-modules <nodeModules>Una lista de rutas a node_modules. Útil para monorepos (separadas por comas, ex: ../../node_modules,./node_modules)
Agregar
Sección titulada “Agregar”npx @capgo/cli channel add [channelName] [appId]
[channelName] el nombre de tu nuevo canal, como production o beta. [appId] tu ID de aplicación en el formato com.test.app se explica aquí.
npx @capgo/cli channel delete [channelName] [appId]
[channelName] el nombre del canal que deseas eliminar. [appId] su ID de aplicación en el formato com.test.app se explica aquí.
npx @capgo/cli channel list [appId]
[appId] su ID de aplicación en el formato com.test.app se explica aquí.
Opcionalmente, puedes proporcionar:
--apikey [key]API clave para vincular a tu cuenta.
Configuración
Sección titulada “Configuración”npx @capgo/cli channel set [channelName] [appId]
[appId] es su ID de aplicación, el formato se explica aquí.
[channelName] el nombre del canal que deseas configurar, como production o beta.
Opcionalmente, puedes proporcionar:
--bundle [1.2.3]su aplicación ya enviada a la nube, para vincularla a un canal.--latestobtener la versión del paquete desdepackage.json:version, no se puede utilizar con--bundle.--state [ normal | default ]establecer el estado del canal, puede sernormalodefault. Necesita un canal.default.--downgradepermite al canal enviar una versión de downgrade a los dispositivos.--no-downgradeno permite al canal enviar una versión de downgrade a los dispositivos.--upgradepermite al canal enviar una versión de actualización (mayor) a los dispositivos.--no-upgradeno permite al canal enviar una versión de actualización (mayor) a los dispositivos.--iospermite al canal enviar una versión a dispositivos iOS.--no-iosno permite al canal enviar una versión a dispositivos iOS.--androidpermite al canal enviar una versión a dispositivos Android.--no-androidno permite al canal enviar una versión a dispositivos Android.--self-assignpermite a los dispositivos asignarse automáticamente a este canal.--no-self-assignno permite a los dispositivos asignarse automáticamente a este canal.--disable-auto-update STRATEGYDeshabilita la estrategia de actualización automática para este canal. Las opciones posibles son: mayor, menor, parche, metadatos, ninguno.--apikey [key]La clave API para vincular a su cuenta.
Estrategia de deshabilitar actualizaciones
Sección titulada “Deshabilitar estrategia de actualizaciones”Hay varias formas de manejar la deshabilitación de actualizaciones para versiones demasiado antiguas.
Capgo no puede actualizar nativos code por lo que una actualización desde una versión con el nativo antiguo code a una versión con el nativo actualizado code no debe ser posible.
Hay un par de formas de lograr eso.
Primero, la major estrategia. Evita que se realice una actualización desde la base nativa 0.0.0 -> paquete objetivo 1.0.0. El número mayor es el destacado (1.0.0 y 0.0.0).
Segundo es la minor estrategia. Evita que se realice una actualización cuando el paquete objetivo tiene un mayor o menor que el número mayor o el número menor que la base nativa del dispositivo, como 0.0.0 -> 1.1.0 o 1.1.0 -> 1.2.0.
tercero, la patch estrategia. Se agregó a capgo como un modo muy estricto. No se recomienda utilizarlo a menos que comprenda completamente cómo funciona.
Para que acepte una actualización, deben cumplirse las siguientes condiciones:
- El mayor es el mismo entre el paquete objetivo y
version_build - El menor es el mismo entre el paquete objetivo y
version_build - El parche es el mismo entre el paquete objetivo y
version_build - Sólo la sufija de versión puede diferir, como prerelease (
-beta.2) o metadatos de compilación (+build.2)
Aquí está un ejemplo de los escenarios en los que la actualización está permitida o denegada
- 1.0.0-beta.1 -> 1.0.0-beta.2 permitido
- 1.0.0+build.1 -> 1.0.0+build.2 permitido
- 1.0.0 -> 1.0.1 bloqueado
- 1.0.0 -> 1.1.0 bloqueado
- 1.0.0 -> 2.0.0 bloqueado
La comparación de estrategias utiliza la base de línea nativa enviada como version_build, no la paquetería descargada actualmente enviada como version_name.
Por último, la estrategia más complicada. El metadata estrategia.
Primero debes saber que inicialmente después de habilitarlo las actualizaciones FALLARÁN ya que el canal carece de los metadatos requeridos.
Si el canal carece de metadatos verás un mensaje como este:
Si ves algo como esto sabes que debes ir a la paquetería actual del canal que falla y establecer los metadatos.
Primero, determine qué canal está fallando. Puedes hacer eso mirando a la misconfigured __CAPGO_KEEP_0__
Luego vaya al canal que falla y haga clic en Bundle number. Esto debería llevarlo a la página del paquete.
Una vez allí, complete el Minimal update version campo. Esto debería ser un semver.
Si el valor que pasa no es un semver, obtendrá un error, pero si todo va correctamente debería ver algo como esto:
Ahora, probablemente no desee establecer esta información manualmente cada vez que actualice. Por fortuna, el CLI evitará que envíe una actualización sin esta metadatos
Para subir correctamente un paquete cuando se utiliza la metadata opción es necesario pasar el --min-update-version con el versión semver válida. Algo como esto:
El --min-update-version no es el ÚNICO modo de hacer compatibilidad.
También existe la --auto-min-update-version. Aquí está cómo funciona.
Primero, mira la versión actualmente subida al canal. Verifica la compatibilidad igual que bundle compatibility comando haría.
Segundo, si la nueva versión es 100% compatible reutiliza el min_update_version de la última versión en el canal.
Si no, entonces establece el min_update_version a la versión del paquete del nuevo archivo subido.
Siempre obtendrá información sobre qué es el min_update_version cuando se utiliza esta opción. Se verá algo así:
Si la nueva versión no es compatible debería verse algo así
Cifrado de extremo a extremo (Sin confianza)
Sección titulada “Cifrado de extremo a extremo (Sin confianza)”Capgo admite cifrado de extremo a extremo, lo que significa que su paquete (code) se cifra antes de enviarlo a la nube y se descifra en el dispositivo. Para ello, necesita generar una pareja de claves RSA, puede utilizar el siguiente comando para generarla.
El sistema de cifrado es una combinación de RSA y AES, la clave RSA se utiliza para cifrar la clave AES, y la clave AES se utiliza para cifrar el archivo.
Consulte a continuación para obtener más información sobre el sistema de cifrado.
Esquema de cifrado
Crear clave para tu aplicación
Sección titulada “Crear clave para tu aplicación”npx @capgo/cli key create
Opcionalmente, puedes proporcionar: --force para sobreescribir la clave existente. Este comando creará para ti una pareja de claves en tu aplicación, y te pedirá que guardes la clave privada en un lugar seguro. Se recomienda no comitar la clave privada en Git, y no compartirla con nadie.
Después de tu prueba local, elimina la clave del archivo de configuración y agrega la clave en el paso de CI con
key save
Guardar clave en la configuración de tu aplicación
Sección titulada “Guardar clave en la configuración de tu aplicación”npx @capgo/cli key save
Opcionalmente, puedes proporcionar:
--key [/path/to/my/public_key] la ruta de tu archivo de clave pública.
--key-data [publicKey] los datos de la clave pública, si deseas utilizar inline. Este comando es útil si siguió la recomendación y no comitó la clave en la configuración de tu aplicación.
integración CI
Sección titulada “integración CI”Para automatizar tu trabajo, te recomiendo que hagas que la acción GitHub se encargue de enviar a nuestro servidor
Tutoriales de la acción GitHub
Nuestra aplicación de demostración
Sección titulada “Nuestra aplicación de demostración”No te olvides de configurar la variable de entorno de CI con tu clave API
Sigue adelante desde Comandos
Sección titulada “Sigue adelante desde Comandos”Si estás utilizando Comandos para planificar la consola y las operaciones API, conecte con API Resumen para los detalles de implementación en API Resumen, Introducción para los detalles de implementación en Introducción, API Claves para los detalles de implementación en API Claves, Dispositivos para los detalles de implementación en Dispositivos, y Paquetes para los detalles de implementación en Paquetes.