Saltar al contenido

Comandos

Esta página es una visión general guiada. Utilice la referencia de comandos actualizada para banderas exactas: app, paquete, canal, y compilar.

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

npx @capgo/cli@latest init [apikey]

Este método está aquí para ayudarlo a configurar 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. Además, 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]

Título de la sección “Iniciar sesión” apikey Este método está aquí para recordar los datos de inicio de sesión 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 los paquetes Capgo.

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 tu configuración si no se proporcionan..

Opcionalmente, puedes proporcionar:

para tener un icono personalizado que se muestre 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 tu cuenta.
  • --apikey [key] para vincular a tu cuenta con API.
  • --retention [retention] periodo 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] ¿Cuál es su ID de aplicación? El formato se explica aquí.

Opcionalmente, puede dar:

  • --icon [/path/to/my/icon] para tener un icono personalizado en la aplicación web Capgo.
  • --name [test] para tener un nombre personalizado en la lista.
  • --retention [retention] periodo 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.
  • --preview o --no-preview ¿Cuál es la mejor opción para usted?
  • --allow-device-custom-id ¿Cuál es la mejor opción para usted? --no-allow-device-custom-id ¿Cuál es la mejor opción para usted?
  • --block-provider-infra-requests ¿Cuál es la mejor opción para usted? --no-block-provider-infra-requests ¿Cuál es la mejor opción para usted?
  • --build-timeout-minutes [5-360] ¿Cuál es la mejor opción para usted?
  • --ios-store-url [url] para habilitar o deshabilitar códigos QR de vista previa del paquete y canal. --android-store-url [url] o
  • --default-upload-channel [channel] ¿Cuál es la mejor opción para usted?
  • --default-download-channel [channel] ¿Cuál es la mejor opción para usted? --disable-download-channels Hacer que todos los canales de descarga sean no públicos.
  • --apikey [key] La clave API 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, puede dar:

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

npx @capgo/cli app delete [appId]

[appId] Su ID de aplicación en el formato com.test.app está explicado aquí.

Opcionalmente, puedes proporcionar:

  • --apikey [key] API clave 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 está explicado aquí.

Opcionalmente, puedes proporcionar:

  • --apikey [key] API clave 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 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 uno de los siguientes: --string o --bool!

contexto: Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `alternatives_cta_questions`). Página/área: Comparación de alternativas de actualización en vivo de Capacitor. Rol: Párrafo de marketing o legal largo. Visto en: página alternatives.astro. Preserva términos de producto y marca de Capgo exactamente. Clave de mensaje `alternatives_cta_questions` (Preguntas de alternativas CTA). | Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `appflow_cta_questions`). Página/área: Copia de marketing de comparación/migración de Appflow. Rol: Párrafo de marketing o legal largo. Visto en: página ionic-appflow.astro. Preserva términos de producto y marca de Capgo exactamente. Clave de mensaje `appflow_cta_questions` (Preguntas de CTA de Appflow). | Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `capwesome_cta_questions`). Página/área: Página de comparación de Capawesome. Rol: Párrafo de marketing o legal largo. Visto en: página capwesome.astro. Preserva términos de producto y marca de Capgo exactamente. Clave de mensaje `capwesome_cta_questions` (Preguntas de CTA de Capwesome). | Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `consulting_faq_subtitle`). Página/área: Página de servicios de consultoría. Rol: Título de sección o etiqueta. Visto en: página consulting.astro. Preserva términos de producto y marca de Capgo exactamente. Clave de mensaje `consulting_faq_subtitle` (Título de sección de FAQ de consultoría). | Página/área: Copia de marketing de comparación/migración de Appflow. Rol: Etiqueta de UI corta o elemento de navegación. Visto en: página ionic-appflow.astro, página ionic-enterprise-plugins.astro, página soluciones/ionic-enterprise-plugins.astro. Clave de mensaje `appflow_plugins_or` (Appflow Plugins Or).

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

npx @capgo/cli bundle upload [appId]

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

Opcionalmente, puede proporcionar:

  • --apikey <apikey> API clave para vincular a su cuenta.
  • --path <path> Ruta del folder para subir.
  • --channel <channel> Canal para vincular.
  • --external <url> Enlace 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 de paquete externa.
  • --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 de 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 de S3 de AWS.
  • --s3-port <port> Puerto para tu punto de conexión 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 clara.
  • --no-code-check Ignora la comprobación de si se llama notifyAppReady() 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 el IV utilizados para cifrar la actualización.
  • --bundle <bundle> Número de versión del paquete a subir.
  • --auto-bump [level] Número de versión del paquete a subir. major, minor Auto-incrementar desde el paquete vinculado del canal, o la última versión remota de la aplicación. Nivel: patch Valor predeterminado fix), metadataAlias ai (Workers AI compares local files to the previous Capgo/channel delta manifest, infers the level, and logs a short reason; skips AI and bumps patch El Workers AI compara los archivos locales con el delta de manifest del canal anterior Capgo, infiere el nivel y registra una breve razón; salta la AI y aumenta --bundle.
  • --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 configuración 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 metadatos (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 se desea un paquete completo). autoUpdate Sube el paquete utilizando el protocolo TUS.
  • --tus Utiliza el protocolo multipart para subir datos a S3, Obsoleto, utilice TUS en su lugar.
  • --multipart Un checksum cifrado (firma). Se utiliza solo al subir un paquete externo.
  • --encrypted-checksum <encryptedChecksum> Sube el paquete utilizando el protocolo TUS.
  • --package-json <packageJson> Una ruta a package.json. Útil para monorepos.
  • --auto-set-bundle Establecer el paquete en capacitor.config.json.
  • --node-modules <nodeModules> Una lista de rutas a node_modules. Útil para monorepos (separadas por comas, por ejemplo: ../../node_modules,./node_modules)

⭐️ La opción externa ayuda a desbloquear 2 casos: corporativos con preocupaciones de privacidad, no enviar el code a una tercera parte y aplicaciones más grandes que 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.

🔑 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 que “0.0.0”.

💡 No olvide actualizar el número de versión cada vez que envíes uno, 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] 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.

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

en un rango de 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 dar:

  • --apikey [key] API clave para vincular a tu cuenta.
  • --bundle [majorVersion] una versión que deseas eliminar paquetes previos para, mantendrá el último + 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á.

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: Esta orden está descontinuada y se eliminará en la próxima versión mayor. Por favor, utiliza el nuevo sistema de cifrado. npx @capgo/cli bundle encrypt [path/to/zip]

Este comando se utiliza cuando utilices 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 tu 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 utilices 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 tu clave privada, si deseas utilizarla de forma inline. --json para que se muestre la información en formato JSON. El comando imprimirá tu ivSessionKeyy y genera un archivo zip cifrado, para usarlo con el comando de subida o el comando de descifrado.

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

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

npx @capgo/cli bundle zip [appId]

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

Opcionalmente, usted puede 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 en el 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 para utilizar 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] es su ID de aplicación, el formato se explica aquí. [channelName] el nombre del canal para verificar.

Opcionalmente, puede dar:

  • --apikey [key] API clave para vincular a su cuenta.
  • --text utilice 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, ex: ../../node_modules,./node_modules)

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

[channelName] el nombre de su nuevo canal, como production o beta. [appId] ¿Qué canal agregar? com.test.app ¿Qué canal agregar? ¿Qué canal agregar?.

¿Qué canal agregar?

¿Qué canal eliminar?

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

[channelName] Sección titulada “Eliminar” [appId] el nombre del canal que desea eliminar. com.test.app ¿Qué canal eliminar? Aquí.

npx @capgo/cli channel list [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.

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

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

¿O

  • --bundle [1.2.3] opcionalmente, puedes proporcionar:
  • --latest tu paquete de aplicación ya enviado a la nube, para vincularlo a un canal. package.json:versionobtener la versión del paquete desde --bundle.
  • --state [ normal | default ] no se puede utilizar con normal establecer el estado del canal, puede ser defaulto default.
  • --downgrade o
  • --no-downgrade necesita un canal
  • --upgrade permite al canal enviar una versión de descenso a los dispositivos.
  • --no-upgrade Prohibir 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 Deshabilitar la estrategia de actualización automática para este canal. Las opciones posibles son: mayor, menor, parche, metadatos, ninguno.
  • --apikey [key] La API clave para vincular a tu cuenta.

Existen 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 de 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 que se realice una actualización desde el conjunto de referencia nativo 0.0.0 -> conjunto de destino 1.0.0. El mayor es el número destacado (1.0.0 y 0.0.0).
Segundo es la minor estrategia. Evita que se realice una actualización cuando el conjunto de destino tiene un mayor o menor que el conjunto de referencia nativo del dispositivo, como 0.0.0 -> 1.1.0 o 1.1.0 -> 1.2.0.

Tercero, la patch estrategia. Fue agregada 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 el conjunto de destino y version_build
  • El minor es el mismo entre el paquete objetivo y version_build
  • La parche es el mismo entre el paquete objetivo y version_build
  • Solo la sufija de versión puede diferir, como prerelease (-beta.2) o metadatos de construcción (+build.2)

Aquí hay 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 nativa enviada como version_build, no el paquete descargado actualmente enviado como version_name.

Por último, la estrategia más complicada. metadata estrategia.
Primero, debes saber que inicialmente, después de habilitarlo, las actualizaciones context: Página/área: Página de producto de construcción nativa de Capgo / producto de construcción nube nativa. Rol: Etiqueta de IU breve o elemento de navegación. Clave de mensaje `native_build_builder_credit_first` (Crédito del constructor de construcción nativa). NO
fallarán

context: Página/área: Página de producto de construcción nativa de Capgo / producto de construcción nube nativa. Rol: Etiqueta de IU breve o elemento de navegación. Clave de mensaje `native_build_builder_credit_first` (Crédito del constructor de construcción nativa).

como el canal carece de los metadatos requeridos.
context: Página/área: Página de producto de construcción nativa de Capgo / producto de construcción nube nativa. Rol: Etiqueta de IU breve o elemento de navegación. Clave de mensaje `native_build_builder_credit_first` (Crédito del constructor de construcción nativa). misconfigured Si el canal carece de metadatos, verás un mensaje como este:

context: Página/área: Página de producto de construcción nativa de Capgo / producto de construcción nube nativa. Rol: Etiqueta de IU breve o elemento de navegación. Clave de mensaje `native_build_builder_credit_first` (Crédito del constructor de construcción nativa).

No se puede encontrar metadatos. Si ves algo como esto, sabes que debes ir a la actualización actual del canal que falló y configurar los metadatos. Primero, averigua qué canal falla. Puedes hacerlo mirando a la columna de la tabla de configuración incorrecta. Luego, ve al canal fallido y haz clic en Bundle number. Esto debería llevarlo a la página del paquete.

Ubique el canal que falla

Una vez allí, complete el Minimal update version campo. Este 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:

Establecer la versión mínima

Ahora, es probable que no desee establecer esta información manualmente cada vez que actualice. Por suerte, el CLI evitará que envíe 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, necesita pasar el --min-update-version con el semver válidoAlgo como esto:

CLI subir con metadatos

La --min-update-version no es la ÚNICA forma de hacer compatibilidad. También existe la --auto-min-update-version. Aquí está cómo funciona.

Primero, se mira la versión actualmente subida al canal. Comprueba la compatibilidad igual que lo haría el comando bundle compatibility . Segundo, si la nueva versión es 100% compatible reutiliza el min_update_version del último versión en el canal. Si no, entonces establece el min_update_version a la número de paquete de la versión subida recientemente.

Siempre obtendrá información sobre qué es el min_update_version cuando utilice esta opción. Se verá algo como esto:

Versión mínima de actualización

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

Versión mínima de actualización 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, necesitará 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 encriptación.

¿Cómo funciona la criptografía?

Esquema de encriptación

npx @capgo/cli key create

Opcionalmente, puedes proporcionar: --force Para sobreescribir la clave existente. Esta orden 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 hacer un commit de la clave privada en el repositorio y no compartirlo 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 la aplicación

Título de la sección: "Guardar clave en la configuración de la 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 utilizar inline. Esta orden es útil si siguió la recomendación y no hizo un commit de la clave en la configuración de la aplicación.

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

Título del tutorial de la acción GitHub

GitHub - Cap-go/demo-app

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

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