2011-04-07 69 views
22

He estado usando Jenkins/Hudson CI para implementar mi proyecto de sitio web .NET. He estado usando el MSbuild plugin para construir mi proyecto, y luego hago una copia para copiarlo al servidor.Despliegue de .NET con Jenkins/Hudson

Me he dado cuenta que si uso el publish feature in Visual Studio obtengo un conjunto diferente de archivos. Tengo las transformaciones de configuración funcionando, pero termino con todos los archivos .cs y una comparación winmerge muestra que los binarios son diferentes.

Por lo tanto, me gustaría obtener Jenkins funcionando igual que la función de publicación o confirmar que una implementación de xcopy es funcionalmente la misma.

+8

Los encabezados de los archivos EXE y DLL contienen una marca de tiempo. Diferentes compilaciones nunca generarán el mismo archivo exacto. –

Respuesta

23

he tenido buenas experiencias con el uso de Web Deploy y como paso final con acumulación Jenkins ejecutar un archivo del palo que contiene:

msdeploy.exe -verb:sync -source:package=%PACKAGE% -dest:auto,ComputerName=%TARGETHOST% 

que tendrá que instalar el paquete de despliegue web en su servidor de compilación y la extensión en IIS.

6

Estoy usando el plugin de MSBuild Jenkins para compilar y luego implementar el proyecto. Como se menciona en otras respuestas, debe tener instalado Web Deploy.

En la página de configuración del proyecto en Jenkins, es necesario agregar lo siguiente a la línea de comandos Argumentos campo:

/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName 

Por supuesto, es necesario crear primero el perfil de publicación, ya sea en VS o exportándolo desde IIS y también necesita especificar la ruta del archivo de solución en el campo MSBuild Build File.

Cuestiones relacionadas