Subversion'堆栈'是Team Foundation Server的现实替代品吗?

时间:2008-11-14 19:44:21

标签: svn tfs

我正在为我的客户评估Microsoft Team Foundation Server,他目前使用Visual SourceSafe而不是其他任何东西。他们明确表示希望在应用程序投入生产时实施更加严格和流程驱动的环境,并且需要考虑未来版本。

我想要涵盖的具体领域是:

  • 配置管理(例如, 源控制)
  • 变更管理(工作流程和doco 变更请求,任务)
  • 发布管理(构建和管理) 部署)
  • 事件和问题管理 (问题和错误)
  • 文件管理(类似于 源控制,但可通过 网)
  • 签到时的代码分析限制
  • 测试框架
  • 报告
  • Visual Studio 2008集成

TFS完成所有这些工作,但维护成本高昂且复杂,而廉价的Workgroup版本无法扩展。我们不会将TFS作为MSDN订阅的一部分。

这些问题可以克服,但在我告诉我的客户去TFS路线之前,这本身并不是一件可怕的事情,我想评估替代方案。我知道Subversion经常被建议用于配置管理/源代码控制,但其他领域呢? Subversion / NUnit / Wiki / CruiseControl / NAnt / other的组合是否满足所有这些要求?我需要在评估中包含哪些工具?

或者我应该咬紧牙关并使用TFS,因为我们已经投资了微软堆栈?

13 个答案:

答案 0 :(得分:8)

一些非常大的项目在SVN或GIT上成功运行。

我倾向于使用不同的最佳应用程序,而不是像TFS这样的单一创建。许多免费和商业bug跟踪器与SVN集成,测试运行器也是如此。创建自己的SVN之类的界面通常比让MS服务器应用程序做新事物更容易 最后,从像SVN这样的东西迁移到下一个伟大的新事物比从TFS这样的专有软件包中获取数据更容易。

答案 1 :(得分:7)

好问题。我从来没有使用过TFS,但所有这一切都可以使用多种工具。最大的障碍是公司和开发人员的文化和思维方式。

我是专业SVN。 (但我确信TFS会起作用)

我建议对日常任务进行非常轻微的干扰。

在SVN中将沙箱或促销规则从一个分支机构扩展到另一个分支机构是进行代码分析的一种方法,而无需阻止提交过程。

所以,要解决你的每一点: SVN处理源代码控制,并且是变更管理和发布管理中的辅助/包含

变更管理/工作流程基本上由项目团队定义,可以通过简单的工具或仅由政策强制执行。

发布管理也是基于策略的,并使用现有的框架/工具(SVN)

大多数流行的缺陷/问题跟踪系统都会处理事件和文档管理 - 使用trac或fogbugz(以及SVN for doc mgmt)来思考wiki

FXCop和所有其他工具可以成为代码分析构建的一部分

测试框架比工具驱动更基于策略 - 如果你想要的话,你必须优先考虑它。

您的报告概念含糊不清,但我认为您在任何情况下都有足够的工具来满足此要求

我不确定在与2008年的整合方面你真正需要什么。无论如何,这并不像TFS那样紧密耦合,但我不认为这是一个问题。

(我想你回答了自己的问题。)这可能最终成为MS和反MS之间的宗教战争。

在我负责推荐和实施解决方案的三个地方,我们投票支持我们的钱包 - 对抗MS。我相信TFS是有能力的,但是竞争完全可以完成任务,我认为这些工具可以很好地用于其他工作。

至于要考虑的工具 - 我认为搜索堆栈溢出nant,msbuild,cruisecontrol等会给你更多的内容,而不是你可以动摇... ...

答案 2 :(得分:5)

我认为以下堆栈优于TFS:

这些工具中的每一个都有特定的目的,并且有自己的优点。它们可以很好地协同工作,但是当出现更好的东西时可以单独更换。

答案 3 :(得分:4)

如果目标开发人员以微软为中心并且客户想要可执行的流程,那么留在TFS是一个很好的电话。实施成本必须考虑到学习曲线,任何生产力损失和现有基础设施。如果这是一个大商店,听起来就像是这样,你还需要一个“IT”团队的支持,这可能很难用一个全新的技术堆栈。

话虽如此,这里还有其他一些选择:

您可能想看看Subversion + Atlassian的Jira(问题跟踪),Confluence(wiki),Bamboo(CI),Clover(代码覆盖率),Fisheye(存储库“洞察力”)< / p>

这些是商业工具,但也已经集成并与Subversion很好地集成。

IBM现在销售和开发的Rational工具集非常强大,可靠且非常面向流程。但是,可能比TFS更昂贵。我最近没有使用它,但在过去的订婚中,它对这些商店表现良好。

最后,还有计算机助理的Software Change Manager,其中最令人讨厌的流程强制执行任何我曾遭遇过不幸遭遇的工具。但如果你想要肛门保持,强迫/强制性强制性过程,这就是你的工具。

答案 4 :(得分:3)

我会研究SVN,Trac,CruiseControl和Nant ......所有这些都是免费的,开源的,非常成熟的。

我在这个堆栈上说服了我的工作场所,我没有回头......

答案 5 :(得分:3)

我很惊讶没有人提到Collabnet的TeamForge。它是SVN的“堆栈”部分,用于SVN之上的所有错误跟踪和其他管理控制。

它不像其他应用程序那样执行需求管理(例如Polarion的Requirements),但如果您可以将需求描述为“错误”,那么它就没事了。

顺便提一下,Polarion的ALM是TFS的竞争对手 - 他们在网站上有一个比较图表。虽然贵但是:(

最好的免费替代方案可能是Redmine恕我直言。

答案 6 :(得分:2)

Team Foundation Server还包括构建管理,TFS构建管理可用于Continuous Integration以及发布构建等。

我使用了CruiseControl.NET和Subversion进行构建管理,但它确实有效。但是,TFS会为您提供更多的控制和审计等。考虑您是希望对程序员有这种程度的控制,还是应该更多地信任它们。

同时考虑来自SourceGear的Vault或Fortress,因为它们被设计为易于使用Visual SourceSafe的人,例如。他们有钉扎。

答案 7 :(得分:1)

尽管人们讨厌顾问,但您可能会考虑与一家提供商业支持的公司进行交流。如果TFS和你说的一样昂贵,这可能会为你节省一些钱,并带来良好的设置。当然,这有风险。

答案 8 :(得分:1)

出于某种原因,我将“Subversion堆栈”与FOSS联系起来。并不是说它不能用于企业工作,但根据我的经验,企业客户更喜欢一体化解决方案。

答案 9 :(得分:1)

虽然有疑问,但我认为两条路线都有其优点。我非常喜欢基本和可用性的可用性TFS通过Visual Studio集成提供的日常操作。如果你将它与TortoiseSVN进行比较,它确实会失去功能。 TFS确实有一个命令行实用程序,它涵盖了GUI中缺少的大多数功能。 除了源代码控制之外,我认为TFS在设置签入/提交策略,将其与工作项等相关联时提供了更强大的凝聚力。 我特别喜欢TFS提供的Web界面(尽管在过度热情之前要考虑它的许可模式) 在VS2008中,合并冲突处理相当差,这在VS2010中会有所改进。 TFS在某种程度上是所有行业的杰出者,也许掌握非。然而,TFS在持续集成方面也允许混合解决方案,您称之为“Subversion堆栈”的各种工具也可以与TFS结合使用。

答案 10 :(得分:1)

VisualSVN提供了SVN和VS之间非常好的集成。我们从TFS迁移到SVN。当时(约2年前,我认为...)我们认为TFS臃肿而且速度较慢(与svn相比要慢得多)。但我相信它现在必须有所改善。

这两条路线的一个主要区别是,与“svn堆栈”相比,可以轻松设置TFS。您必须安装不同的工具和应用程序并让它们一起工作。这需要一些时间。但在病房之后,它会毫无怨言地发挥作用。

答案 11 :(得分:1)

我们的堆栈看起来像:

配置管理(例如,源控制)
SVN

变更管理(变更请求,任务的工作流程和doco)
Trac

发布管理(构建和部署)
Hudson

事件和问题管理(问题和错误)
Trac

文档管理(类似于源代码管理,但可通过Web获得)
SVN(使用Apache进行Web界面)

签到时的代码分析限制
Coverity

测试框架
Hudson(支持许多不同的单元测试框架)

报告
StatSVN

Visual Studio 2008集成
VisualSVN

答案 12 :(得分:1)

我和围栏的两边都有过合作。我最初被迫使用SourceSafe。我非常讨厌它。当我有能力引导IT策略时,我尝试了一些不同的选项,然后选择了SVN和Trac路由。它也不是没有学习曲线,但结果很好。

然后我开始在一个使用SourceSafe和RedMine的相当大的地方工作。我主要错过了SVN,但我喜欢Redmine。

我们最近将所有内容都移到了TFS和Jira。有时我认为大公司做事只是因为他们喜欢花钱。尽管很多数据完整性问题可能会在后端进行排序,但TFS几乎和SourceSafe一样难以实际使用。

在这些选项中,SVN和Jira将是首选组合。 SourceSafe将位于列表的底部,紧随其后的是TFS。