Comandos
Copie una solicitud 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.
Todos los 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 ayudarte a configurarlo paso a paso.
Agregará tu aplicación a Capgo. Agregará el code a tu aplicación para validar la actualización. De manera similar, construirá tu aplicación. Además, subirá tu aplicación a Capgo. Y te 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 recordarte el apikey para ti.
Opcionalmente puedes dar:
--local Esto almacenará tu apikey en el repositorio local y ignorarlo en git.
npx @capgo/cli doctor
Comando para verificar si está actualizado con Capgo paquetes.
Este comando también será útil para informar errores.
Agregar
Sección titulada “Agregar”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:
--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]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"}Establecer
Sección titulada “Establecer”npx @capgo/cli app set [appId]
[appId] es la ID de tu aplicación, se explica el formato aquí aquí.
Opcionalmente, puedes proporcionar:
--icon [/path/to/my/icon]para mostrar 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 códigos QR de vista previa del paquete y canal.--allow-device-custom-ido--no-allow-device-custom-idpara controlar 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 espera de compilación nativa.--ios-store-url [url]o--android-store-url [url]para establecer la URL del almacén.--default-upload-channel [channel]para establecer el canal de subida 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]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, puedes proporcionar:
--apikey [key]API clave para vincular a tu cuenta.
Eliminar
Sección titulada “Eliminar”npx @capgo/cli app delete [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.--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] 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.--devicecon el dispositivo específico que desea depurar
Configuración
Sección titulada “Configuración”npx @capgo/cli app setting [path]
Editar la configuración Capacitor.
[path] - ruta del ajuste que desea cambiar. Por ejemplo, para cambiar el appId, proporcione appId.
Si deseas deshabilitar la actualización automática en el capacitor-updater, proporciona plugins.CapacitorUpdater.autoUpdate con --string off.
DEBE proporcionar uno u otro --string Opciones: --bool!
- establece la configuración en una cadena
--string <string>- establece la configuración en un booleano--bool <true | false>Paquete
Sección titulada “Paquete”
SubirSección titulada “Subir”
protectedTokensnpx @capgo/cli bundle upload [appId]
[appId] es la ID de tu aplicación, se explica el formato aquí aquí.
Opcionalmente, puedes proporcionar:
--apikey <apikey>API clave para vincular a tu cuenta.--path <path>Ruta del folder para subir.--channel <channel>Canales para vincular.--external <url>Vincula a una 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>API clave para tu punto final de S3.--s3-apisecret <apisecret>API clave secreta para tu punto final 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-sslDeshabilitar SSL para la carga 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-keyIgnorar la clave de firma y enviar actualización clara.--no-code-checkIgnorar la comprobación de si notifyAppReady() se llama en el origen code y el índice presente en el carpeta raíz.--display-iv-sessionMostrar en la consola la clave de inicializació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 a metadata en el canal.--auto-min-update-versionEstablece la versión mínima de actualización basada en paquetes nativos.--ignore-metadata-checkIgnora la comprobación de metadata (node_modules) al subir.--ignore-checksum-checkIgnora la comprobación de checksum 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 Delta (manifest) (útil si se habilita el modo de aplicación instantánea pero se desea un paquete completo).autoUpdateSube el paquete utilizando el protocolo tus.--tusUtiliza el protocolo multipart para subir datos a S3, Obsoleto, utilice TUS en su lugar.--multipartUna suma de verificación (firma) cifrada. Se utiliza solo al subir un paquete externo.--encrypted-checksum <encryptedChecksum>Set the min update version based on native packages.__CAPGO_KEEP_0__--package-json <packageJson>A ruta para package.json. Útil para monorepos.--auto-set-bundleEstablezca el paquete en capacitor.config.json.--node-modules <nodeModules>Una lista de rutas para node_modules. Útil para monorepos (separadas por comas, ex: ../../node_modules,./node_modules)
⭐️ La opción externa ayuda a desbloquear 2 casos: corporativos con preocupaciones de privacidad, no envíen 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 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 que “0.0.0”.
💡 No olvide actualizar el número de versión cada vez que envíe uno, el número de versión no puede ser sobrescrito, o 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, 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 bundle delete [appId]
[appId] se explica aquí com.test.app Opcionalmente, puede proporcionar: protectedTokens.
targetLanguage
--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, puede dar:
--apikey [key]API clave para vincular a su cuenta.--bundle [majorVersion]una versión que desee eliminar paquetes anteriores para, mantendrá la última +numberToKeep.--keep [numberToKeep]el número de paquetes que desee mantener (por defecto 4).
For 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 dos últimas.
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]
This command is used when you use an external source to store your code or for test purposes.
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.
Encrypt 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.
Este comando se utiliza cuando utilizas una fuente externa para almacenar tu __CAPGO_KEEP_0__ o para fines de prueba.
--key [/path/to/my/private_key] El checksum es el sha256 del paquete (generado por —key-v2), se utiliza para verificar la integridad del archivo después de la descifrado.
--key-data [privateKey] Se cifrará con la clave privada y se enviará junto con el paquete.
--json En la versión de cifrado v2, el checksum se actualiza para convertirse en una “firma” del paquete. ivSessionKeyy genera un archivo zip cifrado, para usarlo con el comando de subida o el comando de descifrado.
Descifrar
Sección titulada “Descifrar”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 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.
Descifrar 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 usarla 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 descifrado.
npx @capgo/cli bundle zip [appId]
[appId] es tu ID de aplicación, se explica el formato aquí.
Opcionalmente, puedes proporcionar:
--path [/path/to/my/bundle]para subir una carpeta específica.--bundle [1.0.0]para establecer el número de versión del paquete del nombre del archivo.--name [myapp]para sobrescribir el nombre del archivo.--jsonpara mostrar información en formato JSON.--no-code-checkpara ignorar la comprobación de code y enviar el paquete de todos modos.--key-v2para 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.
Compatibilidad
Sección titulada “Compatibilidad”npx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] es tu ID de aplicación, se explica el formato aquí aquí.
[channelName] el nombre del canal para verificar.
Opcionalmente, puedes dar:
--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 con.--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, ex: ../../node_modules,./node_modules)
Agregar
Sección titulada “Agregar”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í.
Eliminar
Sección titulada “Eliminar”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 en español.
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.
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]tu paquete de aplicación ya enviado a la nube, para vincularlo a un canal.--latestobtén la versión del paquete desdepackage.json:version, no se puede utilizar con--bundle.--state [ normal | default ]establece el estado del canal, puedenormalodefault. Necesita unir un canaldefault.--downgradepermite al canal enviar versiones de descenso a los dispositivos.--no-downgradeno permite que el canal envíe versiones de descenso a los dispositivos.--upgradepermite al canal enviar versiones de ascenso (mayor) a los dispositivos.--no-upgradeimpide que el canal envíe una versión de actualización (mayor) a los dispositivos.--iospermite que el canal envíe versiones a dispositivos iOS.--no-iosimpide que el canal envíe versiones a dispositivos iOS.--androidpermite que el canal envíe versiones a dispositivos Android.--no-androidimpide que el canal envíe versiones a dispositivos Android.--self-assignpermite que los dispositivos se asignen automáticamente a este canal.--no-self-assignimpide que los dispositivos se asignen 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]API clave para vincular a tu cuenta.
Deshabilita la estrategia de actualización
Sección titulada “Deshabilitar la estrategia de actualización”Hay varias formas de manejar la desactivación de actualizaciones para versiones demasiado antiguas.
No puede actualizar el nativo code Capgo así que un update 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 que se realice un update desde el nativo de base 0.0.0 -> paquete 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 un update cuando el paquete de destino tiene un mayor o menor que el nativo de base 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 usarlo a menos que esté completamente seguro de cómo funciona.
Para que acepte un update, deben cumplirse las siguientes condiciones:
- El mayor es el mismo entre el paquete 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 compilación (+build.2)
Aquí hay un ejemplo de 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, necesitas saber que inicialmente, después de habilitarlo, las actualizaciones __CAPGO_KEEP_0__ fallarán, ya que el canal carece de los metadatos necesarios.
Si el canal carece de metadatos, verás un mensaje como este:
Si ves algo así, sabes que debes ir a la cesta actual del canal que falla y configurar los metadatos.
Primero, averigua qué canal está fallando. Puedes hacerlo mirando a la misconfigured columna
Luego ve al canal fallido y haz clic en Bundle number. Esto debería llevarlo a la página de paquete.
Una vez allí, rellene 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 querrá establecer esta información manualmente cada vez que actualice. Por fortuna, el CLI evitará que envíe una actualización sin esta información de metadatos
Para subir correctamente un paquete cuando se utiliza la metadata opción, necesita pasar el --min-update-version con el semver válido. Algo como esto:
El --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 cargada en el canal. Verifica la compatibilidad igual que bundle compatibility comando lo haría.
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 al número de paquete de la versión recién cargada.
Siempre obtendrá información sobre qué es el min_update_version cuando se utilice esta opción. Se verá algo como esto:
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 enviarse a la nube y se descifra en el dispositivo. Para ello, necesitas generar una pareja de claves RSA, puedes 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. 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 subir la clave privada al repositorio 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 la aplicación
Sección titulada “Guardar clave en la configuración de la aplicación”npx @capgo/cli key save
Opcionalmente, puedes proporcionar:
--key [/path/to/my/public_key] la ruta del 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 subió la clave en la configuración de la aplicación.
Integración de CI
Sección titulada “Integración de CI”Para automatizar tu trabajo, te recomiendo que hagas que la acción GitHub realice el trabajo de enviar a nuestro servidor
Nuestra aplicación de demostración
Sección titulada “Nuestra aplicación de demostración”No olvides configurar la variable de entorno de CI con tu clave de API
Sigue adelante desde Comandos
Sección titulada “Sigue adelante desde Comandos”Si estás utilizando Comandos para planificar la consola de dashboard y operaciones de API, conecta con API Overview para obtener detalles de implementación en API Overview, Introducción para el detalle de implementación en Introducción, 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.