Team Foundation Server是否是将.net网站自动发布到远程服务器的正确解决方案?

Ric*_*ich 5 .net c# deployment tfs publish

我们目前在我们的开发服务器上的Visual Studio 2010 Pro中使用C#构建我们的.net网站,然后手动发布它并上传到实时服务器,在那里通过当前文件复制它以进入实时.

我们希望尽可能地自动化这个过程,并且如果可能的话,在某个时间推送它,例如每天午夜.我们目前不使用任何源代码控制,所以这可能使它无论如何......

Team Foundation Server [TFS]是启用此功能的最佳解决方案吗?如果是这样,我们的客户要花多少钱或者我们如何才能找到它?我们在英国,他们确实有MSDN订阅.

Dav*_*kle 6

此时,您需要放慢速度并设置更现实的目标.这是我最大的红旗:

"我们目前不使用任何源代码控制,所以这可能使它无论如何......"

没有适当的SCC,你就无法到达你需要去的地方.全面的TFS实现肯定可以做你想做的事情,并且它有一些非常好的功能可以用来集成自动部署方案,这很棒,但你真的需要学习走路才能学会跑步.

我以前评论过TFS成本,所以我不会在这篇文章中做到这一点,但足以说TFS实现做你想做的事需要付出很大的努力,特别是如果你考虑到它的时间将带您进行设置并编写出您想要的自动发布工作流程.

我不知道你的预算是多少,你的团队有多大,或者你的发展战略的性质,或者一些可能真正改变我的答案的事情,但我假设你的预算有限没有专门的人员可以利用来建立一流的TFS实施,所以这就是我推荐的(按此顺序!)

  • 使用Subversion或Git等免费的东西设置版本控制.对于刚刚开始使用SCC的组织,我建议使用Subversion而不是Git,因为从概念上讲,它开始时要简单得多.这是你要做的一切的基石.不像在2000磅炸弹或组装自行车时添加引信,我建议您在安装SVN之前和期间阅读本手册.

  • 使用MSBuild制作构建文件.是的,您可以使用nAnt,但MSBuild在大多数情况下都相当,如果您决定在遥远的遥远未来朝着这个方向前进,那么它对TFS更加友好.确保您的构建在开发盒和服务器上正常运行.

  • 想出一个部署脚本.这可能恰好等同于MSBuild文件中的目标.或者它可能是一个MSI文件 - 我不知道你的环境是否足够好说,但猜测你说你把东西复制到生产的事实,MSBuild目标可能就足够了.

  • 设置持续集成服务器,如Hudson或CruiseControl.NET.我个人使用CruiseControl,但两者背后的基本思想是它们是自动化服务,可以监视SCC系统的变化并为您执行构建.如果您已设置MSBuild目标来执行部署,则可以在CCNET(或可能是Hudson)中配置"项目"以进行部署.

这些解决方案的总软件成本为0美元,但您可能会面临相当多的学习曲线.TFS的学习曲线IMO更加陡峭,软件成本肯定超过0美元.无论哪种方式,拿走都不是试图一次咬住一块,否则你可能会失败.一步一步走,你会到达那里.玩得开心!我个人喜欢学习所有这些东西!