2012-03-29 159 views
1

我为一家较新的.Net CMS Web开发公司工作,现在我们正在制定一个版本控制策略。我们目前倾向于颠覆Subversion的版本控制系统,以保持我们的开发服务器更新(并将我们的构建控制到质量保证和生产)。Subversion,TeamCity和开发服务器的服务器体系结构

我正在尝试找出建议的建议类型的架构。我们应该为每个服务器分开吗?怎么样TeamCity服务器和建设代理(S)?在我看来,最好的办法是设置一台服务器来运行Subversion,一台运行TeamCity Server,另一台运行TeamCity Build Agent。但是,我们希望避免为此运行三台独立的服务器。

任何人都可以告诉我他们之前使用过什么,哪些效果很好?你有什么建议?为什么?

更新:我们需要支持大约10个开发人员。我们现在有点不高兴,但预计明年会雇用几个/几个。

更新:还有一个问题。根据我们使用的开发人员的数量,通过阅读文档,我们很可能不需要超过专业服务许可证的三个Build Agent。看起来,如果我们有更多的开发人员,这需要增加,但不一定是活动项目的数量。这是否准确?

回答

1

我们必须承载的TeamCity,并作为构建SQL Server代理存储

  • 一个服务器

    • 一台服务器。 TeamCity数据库不是那里唯一的数据库。
    • 两个额外的构建代理服务器。

    我们为多个团队构建了多个项目。

    最初在一个团队中只有少数开发人员。一台服务器充当TeamCity服务器,TeamCity代理和数据库服务器,我们很好。

    除非您想一次构建多个项目,否则您不需要多个代理,或者您的构建时间很长。我们发现开发人员的数量并不是一个直接的因素。同时运行的版本数量更重要。这可能与开发人员的数量有关,但这不在我们的情况。我们的构建时间很短(3分钟),我们一次只限制一个项目的构建。

  • +0

    谢谢。数据库有多密集?我们有一个SQL Server,我们运行我们的Web服务,但是我们的老板还在为它添加版本控制工作。它可以使用SQL Server以外的数据库吗? – unclesol 2012-03-29 15:20:32

    +0

    @unclesol它并不强烈,但是会随着同时运行的构建数量而变化。目前支持Sql Server,Oracle,Sybase,My Sql和PostgreSql。 – 2012-03-29 16:15:15

    +0

    所以,我可以表面上运行一个MySql的副本,而不是碰我的SQL Server。非常感谢。 – unclesol 2012-03-29 20:02:32

    1

    这取决于你的团队的规模。我的公司有12个开发人员。

    • 我们有一个TeamCity web服务器,它也是一个构建代理。
    • TeamCity数据库位于我们已拥有的另一个SQL Server上。
    • Subversion在我们已有的另一台服务器上。
    • 我们使用了两台开发人员机器作为第二个和第三个构建代理。

    但是对于一个小团队来说,你可能会把它们放在一个功能相当强大的服务器上。你必须看到什么适合你。

    +0

    谢谢你的回应。我已经更新以上添加一些信息,根据您的回复,这似乎很有用。 – unclesol 2012-03-29 12:56:22

    相关问题