CLI de Despliegue
El proceso general para desplegar una versión de Velopack (download -> pack -> upload) puede simplificarse considerablemente utilizando los comandos download y upload integrados en la herramienta de línea de comandos vpk.
Empaquetando tu nueva versión con deltas
Para que se generen los deltas durante el comando pack, primero debes descargar la versión más reciente actual. Esto debe hacerse con el comando de descarga:
vpk download http --url https://the.place/you-host/updates
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
Los flags cortos -u, -v y -p son alias de --packId, --packVersion y --packDir respectivamente (consulta la descripción general del empaquetado). Son intercambiables.
Existen proveedores para diversas fuentes, como GitHub, S3, HTTP, etc.
Desplegando versiones
En el ejemplo anterior usamos la fuente http; aunque es muy genérica, no proporciona información sobre cómo cargar las versiones, por lo que en el siguiente ejemplo de despliegue usaremos AWS S3.
La mayoría de los proveedores de almacenamiento en la nube hoy en día tienen una API compatible con S3 (GCP, BackBlaze B2, DigitalOcean, Linode, IBM Cloud, etc.) y pueden usarse con este comando; no está limitado a AWS.
Con AWS, puedes autenticarte usando la herramienta de línea de comandos aws o proporcionar claves de acceso como se muestra a continuación.
Si estás usando AWS SSO, debes consultar la documentación de AWS CLI SSO y la autenticación de sesión de AWS.
vpk download s3 --bucket MyApp --region us-west-1 --keyId {accessKeyId} --secret {accessKeySecret}
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload s3 --bucket MyApp --region us-west-1 --keyId {accessKeyId} --secret {accessKeySecret}
Ten en cuenta que también puedes especificar la mayoría de estos argumentos como variables de entorno. Puedes revisar las variables de entorno del SDK de AWS aquí y cada opción de vpk también puede proporcionarse como variable de entorno; para listarlas en el texto de ayuda usa vpk -H en lugar de vpk -h.
Al usar una API compatible con S3 que no sea de AWS (p. ej., BackBlaze B2), debes especificar un endpoint en lugar de una región:
vpk download s3 --bucket MyApp --endpoint https://s3.eu-central-003.backblazeb2.com --keyId {accessKeyId} --secret {accessKeySecret}
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload s3 --bucket MyApp --endpoint https://s3.eu-central-003.backblazeb2.com --keyId {accessKeyId} --secret {accessKeySecret}