您能否告诉使用 vs2010 和团队城市自动发布 Web 应用程序的最佳方法是什么。目前正在尝试通过添加Web部署项目来执行此操作,这是最好的方法还是还有其他一些选择可以做同样的事情。
通过Web部署项目,我认为您指的是带有" .wdproj"后缀的项目。这些已经在VS2010中被Web应用程序项目所取代,这些项目带有"正常"项目文件扩展名(例如.csproj),并且无论您使用哪种CI系统,构建和部署都更加简单。
具体而言,在 TeamCity 中,您可以使用包含以下 Runner 属性的构建步骤设置构建配置:
- 生成运行程序:MsBuild 构建文件
- Path: "MyWebAppProjectDir\MyWebAppProj.csproj"
- MSBuild 版本:4.0
- 目标:重建;包
这将生成站点及其所有依赖项项目,并将其作为"MyWebAppProjectDir\obj\Debug\Package\"中的 ZIP 文件打包到子目录中。
然后,您可以创建后续生成步骤,将打包的 ZIP 部署到本地或远程 Web 服务器。这是使用命令行构建运行程序和以下命令可执行文件完成的:
MyWebAppProject.deploy.cmd /m: DestinationServerName
请注意,这可能需要在目标服务器上一次性安装部署代理服务,具体取决于所使用的 IIS 版本和首选身份验证方法。更多细节在这里:http://msdn.microsoft.com/en-us/library/ff356104.aspx
如果您更喜欢观看它正在完成,以下是一些建议从 MIX10 查看的 Web 部署项目,尽管它没有具体显示如何在 TeamCity 中设置它:http://channel9.msdn.com/events/MIX/MIX10/FT14