使用Jenkins/Hudson部署.NET应用程序

22
我一直使用Jenkins/Hudson CI部署我的.NET网站项目。我使用MSbuild插件构建我的项目,然后使用xcopy将其复制到服务器上。
我注意到如果我使用Visual Studio的发布功能,我会得到不同的文件集。我已经让配置转换起作用了,但最终我得到了所有.cs文件和winmerge比较显示二进制文件不同。
因此,我想让Jenkins与发布功能完全相同,或者确认xcopy部署在功能上是相同的。

8
EXE和DLL文件头包含一个时间戳。不同版本的构建永远不会生成完全相同的文件。 - Hans Passant
2个回答

23

我使用Web Deploy获得了良好的使用经验,并将其作为Jenkins的最终构建步骤,运行包含以下内容的批处理文件:

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

您需要在构建服务器上安装Web Deploy软件包以及在IIS上安装扩展。


8
我将使用MSBuild Jenkins插件来构建和部署项目。如其他答案所述,您需要安装Web Deploy
在Jenkins的项目配置页面中,您需要将以下内容添加到命令行参数字段中:
/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName

当然,您需要首先创建发布配置文件,可以在VS中创建或从IIS导出,并且您还需要在MSBuild Build File字段中指定解决方案文件路径。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接