Deploying .NET with Jenkins/Hudson
Asked Answered
S

2

22

I've been using Jenkins/Hudson CI for deploying my .NET web site project. I've been using the MSbuild plugin to build my project, and then xcopy to copy it out to the server.

I've noticed if I use the publish feature in Visual Studio I get a different set of files. I've got the config transforms working, but I end up with all the .cs files and comparing in WinMerge compare shows the binaries being different.

So, I'd like to either get Jenkins working just like the publish feature, or confirm that an xcopy deploy is functionally the same thing.

Sherwoodsherwynd answered 7/4, 2011 at 13:44 Comment(1)
EXE and DLL file headers contain a timestamp. Different builds will never generate the exact same file.Decastro
C
23

I've had good experiences with using Web Deploy and as a final build step with Jenkins running a bat file containing:

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

You'll have to install the web deploy package on your build server and the extention on IIS.

Comptometer answered 7/4, 2011 at 14:53 Comment(0)
O
8

I'm using the MSBuild Jenkins plugin to build and then deploy the project. As mentioned in other answers, you need to have Web Deploy installed.

In the project configuration page in Jenkins, you need to add the following to the Command Line Arguments field:

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

Of course, you need to first create the publish profile, either in VS or by exporting it from IIS and you also need to specify the solution file path in the MSBuild Build File field.

Oas answered 9/7, 2013 at 11:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.