Alojamiento propio
Velopack Flow proporciona una solución completamente administrada para distribuir aplicaciones. Se encarga de gestionar las actualizaciones y reversiones administrando la lista de versiones. Organiza y distribuye los activos de versiones dentro de canales separados, y ofrece funciones adicionales como la implementación escalonada.
Si en cambio prefiere gestionar su propia infraestructura, Velopack proporciona herramientas para descargar y cargar activos de versiones en muchos proveedores de almacenamiento comunes. La herramienta vpk permite descargar la última versión y, para varios proveedores, enviar nuevos activos de versión después de ejecutar vpk pack (consulte Descripción general).
Los ejemplos a continuación muestran los indicadores mínimos para comenzar. Para ver la lista completa de opciones de cada proveedor, ejecute vpk download <provider> --help / vpk upload <provider> --help, y consulte la guía de CLI de implementación para el flujo de trabajo completo download → pack → upload.
En S3, Azure y el sistema de archivos local, pasar --keepMaxReleases <count> a vpk upload aplica una política de retención que elimina permanentemente las versiones anteriores más allá de las <count> versiones completas más recientes. Omítalo para conservar todas las versiones.
Amazon S3
Amazon S3 es un servicio de almacenamiento de objetos altamente escalable, duradero y seguro.
Para cargar o descargar desde un bucket de S3, debe especificar exactamente uno de --region (para AWS) o --endpoint (para cualquier proveedor compatible con S3). La autenticación puede realizarse con --keyId/--secret, o con un token STS --session.
vpk download s3 --bucket MyApp --region us-west-1 --keyId {keyId} --secret {secret}
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload s3 --bucket MyApp --region us-west-1 --keyId {keyId} --secret {secret}
Otras opciones útiles: --prefix (cargar bajo una sub-ruta), --disablePathStyle, --timeout (tiempo de espera de red en minutos, predeterminado 30), y la destructiva --keepMaxReleases mencionada anteriormente.
Azure Blob storage
Azure Blob Storage es una solución de almacenamiento en la nube escalable y rentable para datos no estructurados.
Debe especificar --account y --container, además de exactamente uno de --key (clave de acceso a la cuenta de almacenamiento) o --sas (firma de acceso compartido).
vpk download azure --account MyAccount --container MyContainer --key {accessKey}
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload azure --account MyAccount --container MyContainer --key {accessKey}
Otras opciones útiles: --prefix, un --endpoint personalizado, y la destructiva --keepMaxReleases mencionada anteriormente.
Sistema de archivos
Velopack admite rutas del sistema de archivos local tanto para "cargar" como para "descargar". Esto es útil para pruebas, para desarrollo local mediante unidades de red, o para alojar en cualquier almacenamiento que pueda montarse como un directorio. El directorio de destino se especifica con --path.
vpk download local --path /srv/releases
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload local --path /srv/releases
Pase --regenerate para reconstruir el archivo releases.{channel}.json en el directorio de destino a partir de los activos presentes. La destructiva --keepMaxReleases también es compatible.
Gitea
Gitea es un servicio de Git ligero y auto-alojado. Proporciona una plataforma DevOps privada, rápida y confiable.
Al publicar en Gitea, el nombre de la versión será el mismo que el número de versión, a menos que se especifique lo contrario. Si no se encuentra una versión existente, se creará una nueva. Pase --merge para actualizar una versión existente en su lugar.
vpk download gitea --repoUrl https://gitea.example.com/me/MyApp --token {token}
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload gitea --repoUrl https://gitea.example.com/me/MyApp --token {token} --publish --tag v1.0.1
Otras opciones útiles: --pre (marcar como versión preliminar), --releaseName, --targetCommitish.
GitHub
GitHub es una plataforma ampliamente utilizada para alojar repositorios de Git y colaborar en el desarrollo de software. Proporciona funciones como solicitudes de extracción, seguimiento de problemas e integraciones de CI/CD.
vpk upload github crea la versión como borrador a menos que pase --publish. Una versión en borrador no es visible para sus usuarios y UpdateManager no la verá hasta que la publique (ya sea mediante --publish o manualmente en la interfaz de GitHub).
vpk download github --repoUrl https://github.com/me/MyApp --token {token}
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
vpk upload github --repoUrl https://github.com/me/MyApp --token {token} --publish --tag v1.0.1
Se requiere --token para repositorios privados; para repositorios públicos, las descargas funcionan sin uno (sujeto al límite de velocidad anónimo de GitHub). Otras opciones útiles: --pre, --releaseName, --targetCommitish, y --merge (actualizar una versión existente con el mismo nombre). Consulte la guía de GitHub Actions para ver un ejemplo completo de CI.
Servidor HTTP
Velopack admite puntos de conexión HTTP arbitrarios para descargar. Este punto de conexión debe poder servir el archivo releases.{channel}.json, así como los archivos nupkg. vpk no ofrece soporte de carga para HTTP simple — depende de usted cargar los archivos actualizados al servidor después de compilar una nueva versión.
vpk download http --url https://the.place/you-host/updates
vpk pack -u YourAppId -v 1.0.1 -p {buildOutput}
# then upload the contents of your output directory to your HTTP host yourself