Compartir recursos entre paquetes ágiles

Compartir recursos entre paquetes ágiles

Compartir recursos

Mi primer ejemplo de compilación instantánea es un servidor Java que desarrollé. Logré crear un complemento que contiene el jre, mi servidor y el inicio del servicio. Todo funciona bien.

El archivo instantáneo tiene un tamaño de 106 MB, que es principalmente Java. Me preguntaba si hay alguna manera de compartir la instalación de Java entre servidores. ¿Para que mis archivos instantáneos se vuelvan muy pequeños y solo contengan código específico para mi instalación?

En mi cabeza esto se vería así:

Complemento 1: complemento que contiene el tiempo de ejecución de Java y expone Java para que otros lo utilicen. Creo que las tragamonedas se usan para eso, pero no estoy 100% seguro de eso. Snap 2: Servidor A que solo contiene mis archivos jar y usa el tiempo de ejecución de Java de Snap 1. Snap 3: Como Snap 2 pero con diferentes archivos jar. Haría que Snap 2 y 3 dependieran de Snap 1, de modo que si alguien instala Snap 2, instalaría automáticamente Snap 1. Si Snap 1 está instalado, ¿lo omitirá y simplemente lo usará?

No estoy seguro de si esto es compatible o si está destinado a funcionar de esa manera.

Respuesta1

Sí, pronto habrá un mecanismo para que puedas compartir archivos en una de tus instantáneas con otras instantáneas que hayas realizado. Esté atento a la "interfaz de contenido" en las próximas semanas.

También habrá actualizaciones delta para las instantáneas, lo que reducirá la carga/descarga de una instantánea determinada, pero ese es un asunto aparte.

Respuesta2

De la respuesta de @didrocks:

Este mecanismo no está disponible a día de hoy (es posible que introduzcamos uno en el futuro, con los 3 ajustes separados como inferirás, pero no está disponible ahora). Otra opción que puede buscar si, si los complementos 2 y 3 están estrechamente acoplados, puede tener un complemento que contenga el jvm y sus 2 servicios. Luego, alguna configuración para elegir qué iniciar (servicio 1, servicio 2 o los dos).

Actualizar:

Acabo de ver:¿Los paquetes instantáneos recibirán actualizaciones diferenciales (delta)?lo que esencialmente resuelve el problema, creo. Mi preocupación era tener que volver a empaquetar el JRE cada vez que publique una nueva versión de mi software. Con la actualización delta (que todavía tengo que descubrir cómo hacer), este problema desaparece. Me alegra que 1 paquete tenga su propio JRE mientras lo reutiliza.

Edite de nuevo: a partir de ahora (20 de junio de 2016), las actualizaciones delta aún no se han publicado, pero se están experimentando y probablemente llegarán pronto. Fuente: #snappy en freenode

información relacionada