iis - servidor - ¿Qué es una buena herramienta de implementación para sitios web en Windows?
publicar web service en iis (7)
Estoy buscando algo que pueda copiar (preferiblemente solo cambiado) archivos desde una máquina de desarrollo a una máquina de etapas y finalmente a un conjunto de máquinas de producción.
Un modo "¿y si?" Sería agradable, al igual que la capacidad de "deshacer" la última implementación. Las migraciones de bases de datos no son una característica necesaria.
ACTUALIZACIÓN: una herramienta gratuita / de bajo costo sería genial, pero el costo no es la única preocupación. Una herramienta que realmente podría administrar la implementación de un entorno a otro (dev-> staging-> production en lugar de una máquina de desarrollo para cada entorno) también sería ideal.
El otro gran atractivo es la capacidad de copiar solo archivos cambiados, algunos de nuestros sitios más antiguos contienen cientos de archivos .asp.
No especifica si está usando Visual Studio .NET, pero hay algunas herramientas integradas en Visual Studio 2005 y 2008:
Herramienta Copiar sitio web: básicamente una herramienta de sincronización visual, resalta los archivos y le permite copiar de uno a otro. Manual, integrado en Visual Studio.
aspnet_compiler.exe: te permite precompilar sitios web.
Por supuesto, puede crear un paquete de implementación web e implementarlo también como MSI.
He utilizado una combinación de Cruise Control.NET, nant y MSBuild para compilar, y cambio los archivos de configuración para entornos específicos y copio los archivos en un directorio de salida de compilación. Luego tuvimos otra secuencia de comandos nant para hacer la copia de archivos (y ejecutar scripts de base de datos si es necesario).
Para una reversión, salvaríamos todas las implementaciones anteriores, por lo que retroceder teóricamente implicaba volver a desplegar la última versión en funcionamiento (y restaurar la base de datos).
Usamos UnleashIt (desafortunado nombre que conozco), que fue muy bien personalizable y le permitió guardar perfiles para implementar en diferentes servidores. También tiene una función de "copia de seguridad" que hará una copia de seguridad de tus archivos de producción antes de la implementación, por lo que la reversión debería ser bastante fácil.
@Sean Carpenter ¿puedes contarnos un poco más sobre tu entorno? ¿Debería la solución ser gratuita? ¿sencillo?
Me parece que robocopy es bastante hábil para este tipo de cosas. Envuélvelo en un archivo por lotes y listo. Es una xcopy glorificada, pero implementar mi sitio web no es realmente difícil. Solo copia los archivos.
En cuanto a los retrocesos ... ¿Estás utilizando el control de fuente, verdad? Solo saca la fuente anterior de allí. O bien, en su archivo por lotes, también copie la implementación en otra carpeta llamada sitio web aaaa.mm.dd para que tenga una carpeta hermosa lista para usar en caso de emergencia.
mira el comando for para obtener detalles sobre cómo obtener las partes de la fecha.
robocopy.exe
for /?
Sí, es un "truco" total, pero mueve los archivos muy bien.
He renunciado a tratar de encontrar un buen producto gratis que funcione. Luego encontré el Sync Toy 2.0 de Microsoft que, aunque carente de opciones, funciona bien.
PERO necesito implementar en un servidor remoto.
Como me conecto con los servicios de terminal, me di cuenta de que puedo seleccionar mi disco duro local cuando me conecto y luego, en el explorador del servidor remoto, puedo abrir //tsclient/S/MyWebsite
en el servidor remoto.
Luego uso synctoy con esa ruta y la sincronizo con mi servidor. Parece funcionar bastante bien y rápido hasta ahora ...
Quizás rsync más algunos scripts personalizados harán el truco.
Prueba repliweb. Maneja la reversión completa a versiones anteriores de archivos. Lo he usado mientras trabajaba para un cliente que exigió su uso y me he convertido en un gran admirador de él, en particular:
- Reversión a versiones anteriores de código
- Autenticación y reglas para diferentes roles de usuario
- Implementar en múltiples entornos
- Informe completo al usuario a través de correo electrónico / registros que indiquen qué ha cambiado, cuál es la versión actual, etc.
Para algunos escenarios, utilicé un producto gratuito llamado SyncBack ( descargue aquí ).
Proporciona sincronización compleja de archivos de varios pasos (sistema de archivos o FTP, etc., compresión, etc.). El programa tiene una bonita interfaz gráfica de usuario. Puede definir perfiles y agruparlos / ejecutarlos juntos.
Puede establecer filtros en tipos de archivos, nombres, etc. y ejecutar comandos / programas después de la ejecución del trabajo. También hay un registro de trabajo proporcionado como informe html, que puede enviarse como un correo electrónico si programa el trabajo.
También hay una versión profesional del software, pero para las tareas comunes el freeware debería funcionar bien.