如何通过VS 2015与TFS Express 2015发布已签入的Web应用版本?
使用TFS Express 2015发布已签入Web应用版本的最佳实践
兄弟,既然你们已经把项目迁到TFS Express 2015,还搞定了签入签出,那完全可以抛弃之前手动发布、复制文件的繁琐流程了!下面给你几个贴合你们场景的最佳方案,按需选就行:
方案一:用TFS构建定义实现全自动发布
这是最推荐的方式,一劳永逸,彻底告别手动操作:
- 打开TFS Web界面,新建一个构建定义,选适合VS 2015 Web项目的模板(比如「Visual Studio」模板,或者专门的「Web发布」模板)
- 配置源代码:指定要构建的已签入分支(比如
$/你的项目名称/Main),确保拉取的是最新签入的代码 - 添加构建&发布步骤:
- 先用「Visual Studio Build」任务编译项目,记得指定正确的解决方案路径和配置(比如Release)
- 接着用「Copy Files to Remote Machine」任务,把编译好的发布文件直接同步到目标服务器的指定目录(需要配置WinRM连接或者共享目录权限,让TFS服务账户能访问)
- 如果是部署到IIS,也可以用「IIS Web App Deploy」任务,直接部署到目标IIS站点
- 设置触发方式:可以选手动触发(需要发布时手动启动构建),也可以设置成每次签入后自动构建(但发布到生产建议手动触发更稳妥)
- 优势:全程自动化,构建有日志可查,还能保留每一次的构建历史,随时回滚到之前的版本,再也不会出现手动复制漏文件的情况
方案二:用TFS发布管理实现多环境管控(适合有测试/生产区分的场景)
如果你们需要分测试、生产环境逐步发布,还想加审批流程,那发布管理(Release Management)就很合适:
- 先确保你们在TFS里启用了发布管理功能,然后新建一个发布定义
- 关联之前创建的构建定义,把构建产出的文件作为发布的源文件
- 配置发布环境:比如先加「测试环境」,再加「生产环境」,每个环境设置好目标服务器的连接信息和部署步骤
- 设置发布策略:比如测试环境自动发布,生产环境需要指定人员批准后才能发布,避免误操作
- 优势:能清晰管控每个环境的发布状态,有审批机制保障生产环境的稳定性,发布历史一目了然,追溯问题超方便
方案三:轻量版——VS结合TFS版本控制发布(适合暂时不想搞自动化的场景)
如果你们还没准备好搞复杂的自动化,这个过渡方案也比之前的手动复制靠谱:
- 在VS里先获取TFS上的最新签入代码,确保本地代码和服务器一致
- 右键项目选择「发布」,用之前的发布配置文件(记得把
.pubxml文件也签入TFS,避免每个人配置不一样),直接把发布目标设置为服务器的共享目录(如果有权限),或者用Web Deploy直接部署到IIS - 发布前建议在TFS里给当前变更集打一个标签,比如「Release_v1.0.0」,这样后续需要追溯这个发布版本对应的代码时,直接找标签就行
- 优势:上手快,不需要配置复杂的构建流程,同时依托TFS的版本控制,确保发布的是最新的已签入代码,还能追溯版本
几个关键注意点
- 不管用哪个方案,都要确保TFS服务账户有目标服务器的权限:比如写入文件的权限、Web Deploy的权限,不然会部署失败
- 先在测试环境跑一遍完整流程,确认没问题再用到生产环境
- 把项目的发布配置、构建脚本这些都签入TFS,避免每个人本地配置不一致导致的问题
内容的提问来源于stack exchange,提问作者Blaze
相关产品推荐
相关产品推荐

