我一直在使用Jenkins /Hudson CI 来部署我的 .NET 网站项目。我一直在使用MSbuild 插件来构建我的项目,然后 xcopy 将其复制到服务器。
我注意到如果我在 Visual Studio 中使用发布功能,我会得到一组不同的文件。我已经完成了配置转换,但最终得到了所有 .cs 文件,并且winmerge比较显示二进制文件不同。
所以,我想让Jenkins像发布功能一样工作,或者确认 xcopy 部署在功能上是一样的。
我一直在使用Jenkins /Hudson CI 来部署我的 .NET 网站项目。我一直在使用MSbuild 插件来构建我的项目,然后 xcopy 将其复制到服务器。
我注意到如果我在 Visual Studio 中使用发布功能,我会得到一组不同的文件。我已经完成了配置转换,但最终得到了所有 .cs 文件,并且winmerge比较显示二进制文件不同。
所以,我想让Jenkins像发布功能一样工作,或者确认 xcopy 部署在功能上是一样的。
我在使用Web Deploy方面有很好的经验,并且作为 Jenkins 运行包含以下内容的 bat 文件的最后构建步骤:
msdeploy.exe -verb:sync -source:package=%PACKAGE% -dest:auto,ComputerName=%TARGETHOST%
您必须在构建服务器上安装 web 部署包并在 IIS 上安装扩展。
我正在使用 MSBuild Jenkins 插件来构建然后部署项目。如其他答案中所述,您需要安装Web Deploy。
在 Jenkins 的项目配置页面中,您需要在Command Line Arguments字段中添加以下内容:
/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName
当然,您需要首先在 VS 中或通过从 IIS 导出它来创建发布配置文件,并且您还需要在MSBuild Build File字段中指定解决方案文件路径。