Entrega de software

Del código fuente compartido a una implementación controlada.

Las capacidades de entrega de software de Microwave Pie están diseñadas para facilitar la implementación de aplicaciones autohospedadas: administrar versiones desde un código fuente compartido, crear el paquete adecuado para una implementación, aplicar licencias y mantener la instalación y las actualizaciones vinculadas a una versión conocida.

Modelo de entrega compartido

1Código fuente compartido de la aplicaciónUn historial de código fuente y una identidad de versión.
2Versión para la plataformaCompilar para el destino de implementación previsto.
Paquete de código fuente Paquete compilado
3Paquete con licenciaEmitir el paquete para una implementación específica.
4Instalar y actualizarMantener el historial de implementación conectado con la versión entregada.

Capacidades

Mantén flexibles las opciones de versión sin perder el control.

Los distintos entornos no siempre necesitan el mismo formato de paquete ni la misma versión al mismo tiempo. Microwave Pie separa el código fuente compartido de la aplicación, las versiones reutilizables, los paquetes, las licencias y las instancias instaladas para que cada aspecto pueda avanzar de forma deliberada.

Código fuente compartido

Parte de un código fuente común en Git y conserva el commit exacto y la versión legible asociada a una versión. Los distintos tipos de implementación pueden avanzar de forma independiente sin dejar de estar vinculados al mismo historial de código fuente.

Paquetes de código fuente

Entrega la aplicación como código fuente cuando la transparencia, la implementación directa en tiempo de ejecución o una instalación de Python específica de la plataforma sea la mejor opción. Los paquetes de código fuente conservan el mismo modelo de versiones y licencias que los paquetes compilados.

Paquetes compilados

Entrega un paquete de aplicación compilado cuando se prefiera un entorno de ejecución más autónomo. La compilación es una opción de entrega, no una línea de producto distinta, por lo que la procedencia de la versión permanece coherente.

Administración de paquetes y licencias

Emite un paquete con su licencia y el contexto de implementación de destino ya asociados. El ciclo de vida del paquete, el estado de la licencia, las descargas, instalaciones, actualizaciones, revocación y cierre pueden administrarse juntos en lugar de reconstruirse después.

Opciones de versión según el destino

Los tipos de implementación Raspberry Pi, GCP, de código fuente y compilados pueden permanecer en distintos niveles de versión cuando exista un motivo para ello. Los commits de Git que falten pueden revisarse por tipo de implementación y también en toda la aplicación.

Actualizaciones administradas desde la interfaz

Las aplicaciones administradas pueden mostrar automáticamente que hay una actualización aprobada disponible sin obligar a instalarla. Un administrador decide cuándo preparar y aplicar la actualización desde la interfaz de la aplicación; después del reinicio, la versión instalada puede confirmarse de nuevo al servicio de entrega compartido, conservando la relación entre Paquete y Licencia.

Implementación

Empaqueta la implementación, no la incertidumbre.

Un paquete de software puede llevar el contexto de implementación necesario para convertir una versión de la aplicación en una implementación funcional: plataforma de destino, formato del paquete, comportamiento de instalación, identidad de la versión y relación de licencia.

Esto permite que el proceso de implementación comience desde una versión conocida en lugar de pedir que cada entorno vuelva a crear de forma independiente las decisiones de compilación y entrega. Cuando corresponda una versión más reciente, la relación existente entre Paquete y Licencia puede mantenerse mientras la versión seleccionada avanza de forma deliberada.

Historial de versiones inmutable

Las Versiones de la aplicación conservan el artefacto y la identidad de Git que realmente se compilaron.

Actualizaciones controladas por el administrador

La disponibilidad puede anunciarse automáticamente, pero descargar, preparar, aplicar y reiniciar siguen siendo acciones deliberadas del administrador.

Licencias conscientes de la implementación

Los paquetes, las licencias y las instancias instaladas permanecen conectados durante la instalación, actualización, revocación y cierre.

Blackcap

Una aplicación que ya utiliza este modelo.

Blackcap puede implementarse en entornos Raspberry Pi y GCP compatibles mediante paquetes de código fuente o compilados, manteniendo alineados el comportamiento de versiones, paquetes, licencias y actualizaciones.

Explorar la tecnología de Blackcap