我被要求开始为我们公司内部正在开展的一些(.NET和PHP)项目设置持续集成环境。由于我不是那么有经验,但这需要在设置这些环境的最佳实践方面进行一些挖掘。
到目前为止我无法解决的一个主要问题是,是否建议将一个中央TeamCity服务器用于所有不同(和独立)的项目,或者是否最好将它们进一步分开为每个项目安装TeamCity?
我对这两种方法的优点和缺点都非常感兴趣,所以如果有人能提供他们的意见,我将非常感激。
答案 0 :(得分:1)
拥有多个TeamCity安装肯定没什么好处。单独安装需要单独的服务器(或至少端口)和单独的许可证(如果不使用免费版本)。
TeamCity支持项目层次结构(基本上是构建配置的容器),因此您可以在同一安装中根据需要创建任意数量的项目,每个项目都有一组构建配置。 TeamCity还支持多个构建代理,因此您可以在不同的计算机上同时运行构建,无论它们是基于Windows还是基于Linux。
除非您有一些特殊的安全要求,即TeamCity的访问控制权限无法满足,或者您正在运行数百个项目和代理,并且性能很差,我认为没有任何理由可以从多个安装开始
如果将来需要,您可以随时将项目迁移到另一个安装而不会太痛苦。
答案 1 :(得分:1)
我可以看到分离实例的以下优点:
缺点:
尝试总结:如果项目共享很多(工件,源代码,角色,管理员,发布周期......),请将它们放在一个实例上。如果他们不这样做,那么您可以考虑将它们放在不同的实例上以获得上述优势,但您必须准备好付出代价,特别是在管理方面。