Teamcity

使用TeamCity进行ASP.NET MVC3项目的自动化部署

关于如何使用TeamCity进行项目代码检出,编译的文章网络上有很多,但是关于如何进行项目部署,尤其是关于ASP.NET MVC3项目部署的资料却少得可怜。折腾两天后,终于将部署完成,于是记录一下部署的方法: 准备 1 工程的准备 首先要稍微配置一下需要部署的工程,设置部署包的位置和目标IIS上的网站/应用程序名称,如下图:  2 构建(build)服务器的准备 构建服务器上.NET Framework 4和ASP.NET MVC3自然少不了,但是因为这是Web工程,因此仅安装这两个会造成便以失败,如下图: 看出错信息可知是缺少了Visual Studio 2010中的几个文件,需要将VS2010对应目录下的Web和WebApplications两个文件夹复制到构建服务器的相应位置: 除此以外,还需要安装Web deploy,因为我们需要用它来进行上传部署工作。 3 部署服务器的准备 部署服务器上也需要安装Web deploy,注意,不要通过Web Platform Installer安装,使用WebPI安装的话IIS中会缺少一个选项,具体过程可以参照 http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity_24.html 接下来就是TeamCity中的设置 1 创建项目 创建项目在此也不再赘述,详情可以自行谷歌。 2 创建构建配置 自动化部署主要分为三个部分: 1) 构建解决方案,进行单元测试 2) 单元测试通过后对Web项目进行打包 3) 打包完成后执行部署 首先创建构建配置来构建解决方案: 这部分的详细设置可以参考官方文档,在设置完配置文件后保存,返回Add Build Step页面,继续Add build step来添加部署的第二部分: 注意图中空色框部分,这个参数的作用是告诉MSBuild进行项目打包(当然也可以通过将上面的Targets属性设置为Package来实现相同的作用)。在这一步执行完成之后,在配置的目录下会生成用于部署的批处理文件和压缩文件: 生成文件的位置是由项目文件指定的(即由准备的第一步指定)。 保存后继续Add build step。 最后一步用于调用生成的批处理文件执行部署工作: 关于命令行参数的含义: =========================== 必需的标志: -------------------------- /T: 使用“-whatif”标志调用 msdeploy.