我被要求开始为我们公司内部正在开展的一些(.NET和PHP)项目设置持续集成环境。由于我还没有那么有经验,这就需要在设置这些环境的最佳实践中进行深入研究。针对多个项目的推荐TeamCity设置
到目前为止,我还没有能够解决的一个主要问题是,是否推荐对所有不同的(独立的)项目使用一个中心TeamCity服务器,还是最好将它们分开通过为每个单独的项目安装TeamCity?
我对这两种方法的优缺点都很感兴趣,所以如果有人能提供他们的意见,我会非常感激。
我被要求开始为我们公司内部正在开展的一些(.NET和PHP)项目设置持续集成环境。由于我还没有那么有经验,这就需要在设置这些环境的最佳实践中进行深入研究。针对多个项目的推荐TeamCity设置
到目前为止,我还没有能够解决的一个主要问题是,是否推荐对所有不同的(独立的)项目使用一个中心TeamCity服务器,还是最好将它们分开通过为每个单独的项目安装TeamCity?
我对这两种方法的优缺点都很感兴趣,所以如果有人能提供他们的意见,我会非常感激。
拥有多个TeamCity安装绝对没有什么优势。单独安装需要单独的服务器(或至少端口)和单独的许可证(如果不使用免费版)。
TeamCity支持一个项目层次结构(基本上是一个用于构建配置的容器),因此您可以在同一个安装中创建尽可能多的项目,每个项目都有一组构建配置。 TeamCity还支持多个构建代理,因此您可以在不同的计算机上同时运行构建,无论它们是基于Windows还是Linux。
除非您有一些TeamCity的访问控制权限无法满足的特殊安全要求,或者您正在运行数百个项目和代理程序,并且性能很差,否则我认为没有任何理由以多个开始安装。
如果将来需要出现,您可以随时将项目迁移到另一个安装而不会太痛苦。
我可以看到如下的优势,以实例分离:
不利的一面:
试图总结:如果项目共享很多(工件,源代码,角色,管理员,发布周期...),将它们放在一个实例上。如果他们不这样做,那么你可以考虑将它们放在不同的实例上以获得上述优势,但是你必须准备好支付价格,特别是在管理方面。
未使用TC,但我看不到有多个安装的优势 - 听起来像会导致更多的维护工作。首先用最简单的方法,然后从那里调整,如果你的工作流程变成需要它。 – halfer