2008-09-03 13 views
8

Estoy buscando algo que pueda copiar (preferiblemente solo cambiar) archivos desde una máquina de desarrollo a una máquina de etapas y finalmente a un conjunto de máquinas de producción.¿Qué es una buena herramienta de implementación para sitios web en Windows?

Un modo "qué pasaría si ..." sería bueno así como 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 placer de tener es la capacidad de copiar solo archivos cambiados, algunos de nuestros sitios más antiguos contienen cientos de archivos .asp.

Respuesta

0

Utilizamos UnleashIt (nombre desafortunado que conozco) que se personalizó fácilmente 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.

+0

siento votaron en contra de que se estrelle cos para mí en Windows Server 2008. por favor, añadir comentario si experimentas lo contrario. aunque parece una gran pequeña herramienta, acabo de pasar a la siguiente opción ... –

1

No se especifica si está utilizando Visual Studio .NET, pero hay algunas herramientas integradas en Visual Studio 2005 y 2008:

Copiar herramienta web - básicamente una herramienta de sincronización visual, destaca los archivos y le permite copiar de uno a otro. Manual, integrado en Visual Studio.

aspnet_compiler.exe - le permite precompilar sitios web.

Por supuesto, puede crear un paquete de implementación web y desplegarlo como una MSI también.

He utilizado una combinación de Cruise Control.NET, nant y MSBuild para compilar, y cambiar archivos de configuración para entornos específicos y copiar los archivos a 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 teóricamente retroceder implicaba volver a desplegar la última versión en funcionamiento (y restaurar la base de datos).

2

@Sean Carpenter ¿Puedes contarnos un poco más sobre tu entorno? ¿Debería la solución ser gratuita? ¿sencillo?

Encuentro 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 retrocesos ... Está utilizando control de fuente ¿no? 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 hermosa carpeta lista para usar en caso de emergencia.

observe el comando for para obtener detalles sobre cómo obtener las partes de la fecha.

robocopy.exe 
for /? 

Sí, es un total "Hack" pero se mueve muy bien los archivos.

2

Para algunos escenarios que utilizan un producto de software gratuito llamada SyncBack (Download here).

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.

alt text

+0

bastante guay. funcionando en 2 minutos. solo un poco confuso que para hacer transferencias FTP tiene que hacer clic en avanzado, configurar las configuraciones y luego hacer clic en el ícono del directorio al lado de 'destino' para conectarse al –

0

he renunciado a tratar de encontrar un buen producto gratuito que funciona. Luego encontré el Sync Toy 2.0 de Microsoft que, aunque carecía de opciones, funcionaba bien.

PERO necesito implementar en un servidor remoto.

Como me conecto con servicios de terminal, me di cuenta de que puedo seleccionar mi disco duro local cuando me conecto y luego, en el explorador en el servidor remoto, puedo abrir \\tsclient\S\MyWebsite en el servidor remoto.

Luego uso synctoy con esa ruta y la sincronizo con mi servidor. Parece que funciona bastante bien y rápido hasta ahora ...

0

Quizás rsync más algunas secuencias de comandos personalizadas hagan el truco.

+0

No estoy seguro de qué se necesitaría para ejecutar rsync en Windows. –

0

Prueba repliweb. Maneja la reversión completa a versiones anteriores de archivos. Lo he utilizado mientras se trabaja para un cliente que exigían su uso y I; hemos convertido en un gran fan de ella, partiularily:

  • reversión a versiones anteriores de código
  • de autenticación y reglas para diferentes roles de usuario
  • implementarla en varios entornos
  • informe completo al usuario a través de correo electrónico/logs statiing lo que ha cambiado, lo que la versión actual es etc.
Cuestiones relacionadas