2011-04-07 145 views
22

我一直在使用Jenkins/Hudson CI部署我的.NET网站项目。我一直在使用MSbuild plugin来构建我的项目,然后使用xcopy将其复制到服务器。使用Jenkins/Hudson部署.NET

我注意到如果我使用publish feature in Visual Studio,我会得到一组不同的文件。我有配置转换工作,但我最终与所有.cs文件和一个winmerge比较显示二进制文件是不同的。

所以,我想要么Jenkins就像发布功能一样工作,要么确认xcopy部署在功能上是一样的。

+8

EXE和DLL文件头包含一个时间戳。不同的版本不会生成完全相同的文件。 – 2011-04-07 14:31:16

回答

23

我已经好经验用Web Deploy并与詹金斯运行包含一个bat文件最终构建步骤:

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

你必须到您的构建服务器和上安装Web部署包在IIS上扩展。

6

我正在使用MSBuild Jenkins插件来构建并部署该项目。正如其他答案中提到的,您需要安装Web Deploy

在詹金斯的项目配置页面中,您需要添加以下到命令行参数领域:

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

当然,你需要首先创建发布配置,无论是在VS或通过从IIS中导出它并且还需要在MSBuild构建文件字段中指定解决方案文件路径。