Tenemos una aplicación que se ejecuta como un servicio de Windows en un servidor de producción. La aplicación está dividida en varios ensambles principalmente en límites de despliegue. Me gustaría simplificar la implementación de arreglos urgentes para ensambles de aplicaciones. Actualmente realizo los siguientes pasos para implementar una solución hotfix. (Tenemos un duplicado del entorno de producción para la puesta en escena, así que todo tiene que ser hecho dos veces)Despliegue en caliente de ensamblados .net
- de sesión en el servidor
- Detener el servicio
- de copia de seguridad DLL actualmente desplegados
- Reemplazar con la revisión (Copia revisión sobre DLL existente)
- Reiniciar servicio
- rollo de nuevo en caso de errores de carga inesperadas (no ha sucedido, sin embargo)
Creo que lo que me gustaría es cargar (SFTP) una DLL a una carpeta preestablecida y hacer que la aplicación recoja la nueva DLL.
Una solución que he considerado es tener un servicio separado ejecutándose en el servidor. Vamos a llamarlo un servicio de implementación de revisiones. Vería el sistema de archivos para nuevos archivos y realizará los pasos 2 a 6 de la lista anterior.
Cualquier idea es apreciada. Estoy abierto a otras alternativas y siempre que reduzcan la fricción de implementación.
ShadowCopyFiles es enorme aquí. –
Sí, aunque con los requisitos de copia de seguridad, puede ser un problema menor en este caso específico. –
El paso de la copia de seguridad no es un requisito difícil, es solo un paso que debo dar para poder retroceder rápidamente. No estoy familiarizado con ShadowCopyFiles, tengo que investigar eso. –