Saltar al contenido

Comandos

Todos los comandos deben ejecutarse en el carpeta de su aplicación con capacitor proyecto encendido correctamente.

npx @capgo/cli@latest init [apikey]

Este método está aquí para llevarlo paso a paso.

Agregará su aplicación a Capgo. 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.

npx @capgo/cli login [apikey]

Este método está aquí para recordar el apikey para usted.

Opcionalmente puedes proporcionar:

--local Esto 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í aquí.

💡 Todas las opciones se adivinarán en su configuración si no se proporcionan.

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.
  • --apikey [key] la clave API para vincular a su cuenta.
  • --retention [retention] el período de retención del paquete de aplicación en días, 0 por defecto = infinito.

Ejemplo de capacitor.config.json para appId y AppName, el icono se adivina en el carpeta de recursos

{
"appId": "ee.forgr.capacitor_go",
"appName": "Capgo",
"webDir": "dist"
}

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 que se muestre 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.
  • --apikey [key] API clave para vincular a su cuenta.

npx @capgo/cli app list [appId]

[appId] su ID de aplicación en el formato com.test.app se explica aquí.

Opcionalmente, usted puede dar:

  • --apikey [key] API clave para vincular a su cuenta.

npx @capgo/cli app delete [appId]

[appId] su ID de aplicación en el formato com.test.app se explica aquí.

Opcionalmente, usted puede dar:

  • --apikey [key] API clave para vincular a su cuenta.
  • --bundle con el número de versión solo eliminará esta versión.

npx @capgo/cli app debug [appId]

[appId] su ID de aplicación en el formato com.test.app se explica aquí.

Opcionalmente, puede proporcionar:

  • --apikey [key] la clave API para vincular a su cuenta.
  • --device con el dispositivo específico que desea depurar

npx @capgo/cli app setting [path]

Editar la configuración Capacitor.

[path] - ruta del ajuste 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 ya sea --string o --bool!

Opciones:

  • --string <string> - establece el ajuste en una cadena
  • --bool <true | false> - establece el ajuste en un booleano

npx @capgo/cli bundle upload [appId]

[appId] es tu ID de aplicación, se explica el formato aquí.

Opcionalmente, puedes dar:

  • --apikey <apikey> API clave para vincular a tu cuenta.
  • --path <path> Ruta del folder para subir.
  • --channel <channel> Canal para vincular.
  • --external <url> Enlace a URL externa en lugar de subir a Capgo Cloud.
  • --iv-session-key <key> Establece la clave de inicialización y la clave de sesión para la URL de paquete externa.
  • --s3-endpoint <s3Endpoint> URL del punto final de S3. No funciona con subidas delta o la opción externa.
  • --s3-region <region> Región para tu contenedor S3.
  • --s3-apikey <apikey> llave API para tu punto de conexión S3.
  • --s3-apisecret <apisecret> llave secreta API para tu punto de conexión S3.
  • --s3-bucket-name <bucketName> Nombre para tu contenedor S3 de AWS.
  • --s3-port <port> Puerto para tu punto de conexión S3.
  • --no-s3-ssl Deshabilitar SSL para subir S3.
  • --key <key> Ruta personalizada para la llave de firma pública (sistema v1).
  • --key-data <keyData> Llave de firma pública (sistema v1).
  • --key-v2 <key> Ruta personalizada para la llave de firma privada (sistema v2).
  • --key-data-v2 <keyData> Llave de firma privada (sistema v2).
  • --bundle-url Imprime la URL del paquete en la salida estándar.
  • --no-key Ignorar la llave de firma y enviar actualización clara.
  • --no-code-check Ignorar la comprobación de si notifyAppReady() se llama en la fuente code y el índice presente en la carpeta raíz.
  • --display-iv-session Muestra en la consola la clave de sesión 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> Versión mínima requerida para actualizar a esta versión. Se utiliza solo si se establece la actualización automática en la metadata del canal.
  • --auto-min-update-version Establece la versión mínima de actualización basada en paquetes nativos.
  • --ignore-metadata-check Ignora la comprobación de metadata (node_modules) al subir.
  • --ignore-checksum-check Ignora la comprobación de checksum al subir.
  • --timeout <timeout> Tiempo de espera para el proceso de subida en segundos.
  • --delta Sube archivos Delta (manifest) junto con el paquete completo.
  • --delta-only Sube solo actualizaciones Delta (manifest), saltándose el paquete completo.
  • --no-delta Deshabilita la subida de archivos Delta (manifest) (útil si se habilita el modo de aplicación instantánea pero deseas un paquete completo). autoUpdate Sube el paquete utilizando el protocolo tus.
  • --tus __CAPGO_KEEP_0__
  • --multipart Utiliza el protocolo multipart para subir datos a S3, Obsoleto, utilice TUS en su lugar.
  • --encrypted-checksum <encryptedChecksum> Un checksum cifrado (firma). Se utiliza solo cuando se sube un paquete externo.
  • --package-json <packageJson> Un camino a package.json. Útil para monorepos.
  • --auto-set-bundle Establezca el paquete en capacitor.config.json.
  • --node-modules <nodeModules> Una lista de caminos a node_modules. Útil para monorepos (separados por comas, por ejemplo: ../../node_modules,./node_modules)

⭐️ La opción externa ayuda a desbloquear 2 casos: corporativo con preocupaciones de privacidad, no envíe el code a una tercera parte y una 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 almacenamiento en la nube de Capgo nunca mira qué hay en el enlace (para la opción externa), o en el code cuando se almacena.

🔑 Puede 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 a “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 puede ser sobrescrito, ni reutilizado después de la eliminación por razones de seguridad.

npx @capgo/cli bundle 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.

npx @capgo/cli bundle delete [appId]

[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 con el número de versión solo eliminará esta versión.

en un rango SemVer para una versión mayor a Cloud

npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]

[appId] tu 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 desee eliminar paquetes anteriores para, mantendrá la última + numberToKeep.
  • --keep [numberToKeep] el número de paquetes que desea mantener (por defecto 4).

Por ejemplo: Si tiene 10 versiones desde 10.0.1 a 10.0.11, y utiliza 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á.

Si tiene 20 versiones en total, y no proporciona un número de paquete como este: npx @capgo/cli cleanup [appId] --keep=2 Eliminará 18 versiones, y mantendrá las últimas 2.

Este comando pedirá 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. El comando imprimirá tu ivSessionKeyy generará un archivo zip cifrado, para utilizarlo con el comando de carga o el comando de descifrado.

npx @capgo/cli bundle encrypt [path/to/zip] [checksum]

Este comando se utiliza cuando utilizas una fuente externa para almacenar tu code o para fines de prueba. El checksum es el sha256 del paquete (generado por —key-v2), se utiliza para verificar la integridad del archivo después de la descifrado. Se cifrará con la clave privada y se enviará junto con el paquete. En la cifrado v2 el checksum se actualiza para convertirse en una “firma” del paquete.

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 usar inline. --json para imprimir la información en formato JSON. La orden imprimirá tu ivSessionKeyy generar un zip cifrado, para usarlo con la orden de subida o la orden de descifrado.

npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]

Opcionalmente, puedes dar:

--key [/path/to/my/private_key] la ruta de tu clave privada.

--key-data [privateKey] los datos de la clave privada, si deseas usar inline. Esta orden se utiliza principalmente con fines de prueba, descifra el zip y imprime la clave de sesión base64 descifrada en la consola.

npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]

Opcionalmente, puedes dar:

--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. 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] la suma de verificación del archivo, verificará la suma de verificación 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 dar:

  • --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.
  • --json para mostrar información en formato JSON.
  • --no-code-check para ignorar la comprobación de code y enviar el paquete de todos modos.
  • --key-v2 To usar el nuevo sistema de cifrado. Esto es necesario ya que el nuevo sistema de cifrado utiliza mejores checksums para verificar la integridad del archivo.

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, puede proporcionar:

  • --apikey [key] API clave para vincular a su cuenta.
  • --text usar texto en lugar de emojis en la tabla
  • --channel [channel] el canal para verificar la compatibilidad.
  • --package-json <packageJson> Un camino a package.json. Útil para monorepos
  • --node-modules <nodeModules> Una lista de caminos a node_modules. Útil para monorepos (separados por comas, ejemplo: ../../node_modules,./node_modules)

npx @capgo/cli channel add [channelName] [appId]

[channelName] el nombre de su nuevo canal, como production o beta. [appId] su 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 desea 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, usted puede proporcionar:

  • --apikey [key] API clave para vincular a su cuenta.

npx @capgo/cli channel set [channelName] [appId]

[appId] es la ID de tu aplicación, se explica el formato aquí. [channelName] el nombre del canal que deseas configurar, como production o beta.

Opcionalmente, puedes proporcionar:

  • --bundle [1.2.3] tu aplicación ya se ha enviado a la nube, para vincularla a un canal.
  • --latest obtén la versión del paquete desde package.json:version, no se puede utilizar con --bundle.
  • --state [ normal | default ] establece el estado del canal, puede ser normal o default. Necesita un canal default.
  • --downgrade permite al canal enviar versiones de descenso a los dispositivos.
  • --no-downgrade no permite al canal enviar versiones de descenso a dispositivos.
  • --upgrade permite al canal enviar versiones de actualización (mayor) a dispositivos.
  • --no-upgrade no permite al canal enviar versiones de actualización (mayor) a dispositivos.
  • --ios permite al canal enviar versiones a dispositivos iOS.
  • --no-ios no permite al canal enviar versiones a dispositivos iOS.
  • --android permite al canal enviar versiones a dispositivos Android.
  • --no-android no permite al canal enviar versiones a dispositivos Android.
  • --self-assign permite a los dispositivos asignarse automáticamente a este canal.
  • --no-self-assign no permite a los dispositivos asignarse automáticamente a este canal.
  • --disable-auto-update STRATEGY Deshabilita la estrategia de actualización automática para este canal. Las opciones posibles son: mayor, menor, metadatos, ninguno.
  • --apikey [key] API clave para vincular a su cuenta.

Deshabilita la estrategia de actualización

Sección titulada “Desactivar estrategia de actualizaciones”

Hay varias formas de manejar la desactivació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 debería ser posible. Hay varias formas de lograr eso.

Primero, la major estrategia. Evita una actualización desde 0.0.0 -> 1.0.0. El número mayor es el destacado (1.0.0 y 0.0.0).
Segundo es la minor estrategia. Evita una actualización desde 0.0.0 -> 1.1.0 o una actualización desde 1.1.0 a 1.2.0. TENGA PRESENTE esta estrategia no previene una actualización de 0.1.0 -> 1.1.0

Tercero, el patch estrategia. Se agregó a capgo como un modo muy estricto. No se recomienda utilizarlo a menos que esté completamente familiarizado con cómo funciona. Para que acepte una actualización, las siguientes condiciones deben cumplirse:

  • La versión mayor es la misma entre la nueva y la versión antigua
  • La versión menor es la misma entre la nueva y la versión antigua
  • El parche de la nueva versión si es mayor que el parche de la versión antigua

Aquí hay un ejemplo de los escenarios en los que la actualización está permitida o denegada

  • 0.0.311 -> 0.0.314 ✅
  • 0.0.0 -> 0.0.314 ✅
  • 0.0.316 -> 0.0.314 ❌
  • 0.1.312 -> 0.0.314 ❌
  • 1.0.312 -> 0.0.314 ❌

Por último, la estrategia más complicada. El metadata estrategia.
Primero, es necesario saber que inicialmente después de habilitarlo, las actualizaciones SERÁN denegadas ya que el canal carece de los metadatos requeridos.
If the channel is lacking metadata you will see a message like this:

No se puede encontrar metadatos

If you see something like this you know that you have to go to the current bundle for the failing channel and set the metadata.
Primero, averigüe qué canal está fallando. Puede hacerlo mirando la misconfigured columna

Tabla mal configurada

Then go to the failing channel and click on Bundle numberEsta acción debería llevarlo a la página del paquete.

Ubicar canal fallido

Once there fill the Minimal update version campo. Este debería ser un versión semántica.
If el valor que pasas no es un semver obtendrás un error, pero si todo sale correctamente deberías ver algo como esto:

Establecer versión mínima

Ahora, probablemente no querrás establecer esta información manualmente cada vez que actualices. Por fortuna, el CLI te impedirá enviar una actualización sin esta metadatos

CLI falla sin metadatos

Para subir correctamente un paquete cuando se utiliza la metadata opción, debes pasar el --min-update-version con el semver válido. Algo como esto:

CLI subir con metadatos

El --min-update-version no es la ÚNICA forma de hacer compatibilidad. También existe la --auto-min-update-version¡Eso es cómo funciona!

Primero, revisa la versión actualmente subida al canal. Verifica la compatibilidad de la misma manera que lo haría un comando. bundle compatibility Segundo, si la nueva versión es 100% compatible, reutiliza el min_update_version desde la versión más reciente en el canal. min_update_version Si no, entonces establece el

al número de paquete de la versión recién subida. min_update_version Siempre obtendrá información sobre qué es el

cuando utilice esta opción. Se verá algo así:

Versión de actualización mínima

Si la nueva versión no es compatible, debería verse algo así:

Versión de actualización mínima no compatible

Encriptación de extremo a extremo (Sin confianza)

Capgo admite la cifrado de extremo a extremo, lo que significa que su paquete (code) se cifra antes de enviarse a la nube y se descifra en el dispositivo. Para ello, es necesario 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.

Cómo funciona el cifrado

Esquema de cifrado

npx @capgo/cli key create

Opcionalmente, puedes proporcionar: --force para sobreescribir la clave existente. Este comando creará para usted una pareja de claves en su aplicación, y le pedirá que guarde la clave privada en un lugar seguro. Se recomienda no commitar la clave privada en Git, y no compartirlo con nadie.

Después de tu prueba local, elimine la clave del archivo de configuración y agregue la clave en el paso de CI con key save

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. Esta orden es útil si siguió la recomendación y no comprometió la clave en la configuración de tu aplicación.

Para automatizar tu trabajo, te recomiendo que hagas que la acción GitHub se encargue de enviar a nuestro servidor

Tutorial de la acción GitHub

GitHub - Cap-go/demo-app

No te olvides de configurar la variable de entorno de CI con tu clave API

Si estás utilizando Comandos para planificar la consola de dashboard y las operaciones de API, conecta con API Resumen para obtener detalles de implementación en API Resumen, Introducción para obtener detalles de implementación en Introducción, API Claves para obtener detalles de implementación en API Claves, Dispositivos para obtener detalles de implementación en Dispositivos, y Paquetes para el detalle de implementación en Paquetes.