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. 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.

npx @capgo/cli login [apikey]

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

Opcionalmente puedes dar:

--local Esto almacenará su apikey en el repositorio local y lo ignorará en git.

npx @capgo/cli doctor

Comando para verificar si está actualizado con Capgo paquetes.

Esta orden 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:

  • --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.
  • --apikey [key] API clave para vincular a tu cuenta.
  • --retention [retention] período de retención del paquete de la 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 tu ID de aplicación, el formato se explica aquí.

Opcionalmente, puedes dar:

  • --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 tu cuenta.

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

npx @capgo/cli app delete [appId]

[appId] tu ID de aplicación en el formato com.test.app es explicado 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.

npx @capgo/cli app debug [appId]

[appId] tu ID de aplicación en el formato com.test.app es explicado aquí.

Opcionalmente, puedes proporcionar:

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

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

DEBES proporcionar uno de los siguientes: --string o --bool!

Opciones:

  • --string <string> - establece la configuración en una cadena
  • --bool <true | false> - establece la configuración a un booleano

npx @capgo/cli bundle upload [appId]

[appId] es su ID de aplicación, se explica el formato 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 IV y la clave de sesión para la URL de paquete externo.
  • --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 su contenedor de S3.
  • --s3-apikey <apikey> API clave para su punto final de S3.
  • --s3-apisecret <apisecret> API secreto para su punto final de S3.
  • --s3-bucket-name <bucketName> Nombre para su contenedor de S3 de AWS.
  • --s3-port <port> Puerto para su punto final de S3.
  • --no-s3-ssl Deshabilitar 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-url Imprime la URL del paquete en la salida estándar.
  • --no-key Ignora la clave de firma y envía la actualización en claro.
  • --no-code-check Ignora la comprobación de si notifyAppReady() se llama en el origen code y el índice presente en la carpeta raíz.
  • --display-iv-session Muestra en la consola la clave de IV y la sesión utilizada 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 a metadata en el 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 los archivos Delta (manifest) junto con el paquete completo.
  • --delta-only Sube solo actualizaciones Delta (manifest), saltándose el paquete completo.
  • --no-delta Desactiva las subidas de Delta (manifest) (útil si directUpdate está habilitado pero deseas un paquete completo).
  • --tus Sube el paquete utilizando el protocolo tus.
  • --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 Establece 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: corporativos con preocupaciones de privacidad, no envían el code a un tercero y aplicaciones más grandes de 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.

🔑 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 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í Aquí.

Opcionalmente, puede proporcionar:

  • --apikey [key] API clave para vincular a su 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] su ID de aplicación en el formato com.test.app se explica aquí here.

Opcionalmente, puedes proporcionar:

  • --apikey [key] La clave API para vincular a tu cuenta.
  • --bundle [majorVersion] una versión con la que deseas eliminar paquetes anteriores, 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 hasta 10.0.11, y utilizas 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.

Esta orden 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 utiliza una fuente externa para almacenar su code o para fines de prueba.

Opcionalmente, puede proporcionar:

--key [/path/to/my/private_key] el camino de su clave privada. --key-data [privateKey] los datos de la clave privada, si desea utilizar inline. ivSessionKeyEl comando imprimirá su

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

This command is used when you use an external source to store your code or for testing purposes.

La suma de comprobación es la sha256 del paquete (generada por —key-v2), se utiliza para verificar la integridad del archivo después de la desifrado.

--key [/path/to/my/private_key] Se cifrará con la clave privada y se enviará junto con el paquete. --key-data [privateKey] En la cifrado v2 la suma de comprobación se actualiza para convertirse en una “firma” del paquete. --json Opcionalmente, puedes proporcionar: ivSessionKeyla ruta de tu clave privada.

los datos de la clave privada, si deseas utilizarla en línea.

para mostrar información en formato JSON.

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

El comando imprimirá tu

--key [/path/to/my/private_key] y generará un archivo zip cifrado, para utilizarlo con el comando de carga o el comando de desifrado.

--key-data [privateKey] Desifrar

Título de la sección “Desifrar” (en español). Opcionalmente, puedes proporcionar: la ruta de tu clave privada. los datos de la clave privada, si deseas utilizarla en línea. Este comando se utiliza principalmente para fines de prueba, desifrá el zip y imprime la clave de sesión base64 desifrada en la consola. Desifrar V2

Sección titulada “Descifrar V2”

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 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] el checksum del archivo, se verificará el checksum después de la descifra.

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] sobreescribir el nombre del archivo.
  • --json salida de información en formato JSON.
  • --no-code-check ignorar la comprobación de code y enviar el paquete de todos modos.
  • --key-v2 utilizar el nuevo sistema de cifrado. 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 [channelId]

[appId] es su ID de aplicación, se explica la forma en la que se debe ingresar aquí. [channelId] el nombre de su nuevo canal.

Opcionalmente, puede proporcionar:

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

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

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

npx @capgo/cli channel delete [channelId] [appId]

[channelId] el nombre de su canal que desea eliminar. [appId] la ID de su aplicación en el formato com.test.app se explica aquí.

npx @capgo/cli channel list [appId]

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

Opcionalmente, puede proporcionar:

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

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

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

Opcionalmente, puede proporcionar:

  • --bundle [1.2.3] su bundle de aplicación ya enviado a la nube, para vincularlo a un canal.
  • --latest obtener la versión del bundle desde package.json:version, no se puede utilizar con --bundle.
  • --state [ normal | default ] establecer el estado del canal, puede normal o default. Necesita un canal para default.
  • --downgrade permite al canal enviar versiones de descenso a los dispositivos.
  • --no-downgrade impide que el canal envíe una versión de descenso a los dispositivos.
  • --upgrade permite que el canal envíe una versión de actualización (mayor) a los dispositivos.
  • --no-upgrade impide que el canal envíe una versión de actualización (mayor) a los dispositivos.
  • --ios permite que el canal envíe una versión a los dispositivos iOS.
  • --no-ios impide que el canal envíe una versión a los dispositivos iOS.
  • --android permite que el canal envíe una versión a los dispositivos Android.
  • --no-android impide que el canal envíe una versión a los dispositivos Android.
  • --self-assign permite que los dispositivos se asignen automáticamente a este canal.
  • --no-self-assign impide que los dispositivos se asignen 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 tu cuenta.

Deshabilita la estrategia de actualizaciones

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 un par de formas de lograr eso.

Primero, la major estrategia. Evita una actualización desde 0.0.0 -> 1.0.0. El mayor es el número 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 EN CUENTA Esta estrategia no impide 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 seguro de cómo funciona.

  • Para que acepte una actualización, deben cumplirse las siguientes condiciones:
  • El mayor es el mismo entre la nueva y la versión antigua
  • El menor es el mismo entre la nueva y la versión antigua

El parche de la nueva versión es mayor que el parche de la versión antigua

  • 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 ❌

Aquí hay un ejemplo de los escenarios en los que la actualización está permitida o denegada metadata Por último, la estrategia más complicada. El
estrategia. Primero debes saber que inicialmente después de habilitarlo, las actualizaciones FALLARÁN
Si el canal carece de metadatos, verá un mensaje como este:

No se puede encontrar metadatos

Si ve algo como esto, sabe que debe ir a la caja actual del canal fallido y configurar los metadatos.
Primero, averigüe qué canal está fallando. Puede hacerlo mirando la misconfigured columna

Tabla mal configurada

Luego vaya al canal fallido y haga clic en Bundle numberEsto debería llevarlo a la página de la caja.

Ubique el canal fallido

Una vez allí, complete el Minimal update version campo. Este debería ser un semver.
Si 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 información de 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. --auto-min-update-versionTambién existe la

. Aquí está cómo funciona: Primero, toma una mirada a la versión actualmente subida al canal. Comprueba la compatibilidad de la misma manera que bundle compatibility comando funcionará. En segundo lugar, si la nueva versión es 100% compatible reutiliza la min_update_version desde la versión más reciente del canal. Si no, entonces establece la min_update_version al número de paquete de la versión subida recientemente.

Siempre obtendrá información sobre qué es el min_update_version cuando se utiliza 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

Capgo admite la encriptación de extremo a extremo, lo que significa que su paquete (code) se encripta antes de enviarlo 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 encriptación es una combinación de RSA y AES, la clave RSA se utiliza para encriptar la clave AES, y la clave AES se utiliza para encriptar 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 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 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] el camino de tu archivo de clave pública.

--key-data [publicKey] los datos de la clave pública, si deseas utilizarla de forma inline. Esta orden es útil si siguió la recomendación y no comitó 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