TFS或Teamcity,如何自动部署到各种环境?

loy*_*low 3 teamcity tfs continuous-integration

寻找有关如何处理此场景的建议.

我们有3个环境:Dev,QA和Production.

目前将代码推送到每个环境是一个手动过程,想知道Cruisecontrol或TeamCity之类的东西如何简化这个过程.

我们如何以自动化方式推动各种环境?

如何设置TFS来实现这一目标?即主分支,特征分支等

之情况:

开发人员#1将他们的更改推送到Dev和QA服务器.开发人员#2将他们的更改推送到Dev和QA服务器.

现在我们只需将Developer#1的更改推向生产.

主分支是否应该只有生产的代码?

Pab*_*meo 5

为了控制推送到每个环境的内容,KMoraz的方法将是正确的,使用分支和合并.

现在,对于构建和部署自动化,我一直在使用的最新设置是Team City.

我的设置是:

  • 中继构建:在每次提交时编译,运行所有单元测试,生成代码覆盖率报告,运行FxCop

  • 静态分析建立:在夜间运行对树干,执行重复查找(团队市),ConQAT代码克隆分析,StatSVN和ReSharper的代码评审(团队市)

  • DEV部署(依赖于Trunk构建):在每次提交时,如果Trunk构建成功,应用程序将自动部署到DEV环境,使用带有配置转换的MS WebDeploy.

  • QA部署:在转移到QA时,通过Team City的界面(单击按钮)手动触发.使用带有配置转换的MS WebDeploy将应用程序部署到QA服务器.

您还可以根据需要为不同的分支设置构建,尤其是针对为稳定版本的版本创建的分支.

关键部分是具有不同的visual studio构建配置(就像你有"Release""Debug"一样,你应该有"Dev","QA"等),你应该使用web.config转换顺序让WebDeploy为您配置环境.这样您就可以使用不同的web.Dev.config,web.QA.config转换,每个构建配置一个转换,具有特定设置.

特洛伊·亨特(Troy Hunt)发表了一系列精彩的帖子,称"你的部署错了!" 它指导您完成自动构建和部署的设置.

http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity.html

设置它时对我来说非常有用.