持续集成工具

3
我正在研究持续集成工具及其优点。在我的研究中,我查看了以下工具:
- GitLab CI - Jenkins - Bamboo - GoCD - TeamCity
目前我发现这些工具之间的差异不是很大,除了以下几点:
1. Fan-in fan-out 支持 GoCD; 2. 社区规模,Jenkins 和 GitLab 似乎有最多的贡献者; 3. 成本; 4. 开源与否; 5. 可用插件的数量。
我想知道其他人选择持续集成工具的经验,以及为什么选择该工具。此外,在选择之前是否有某些值得考虑的差异,我没有涵盖到。
现在,我倾向于选择 GoCD,因为它支持 Fan-in fan-out 并且能够可视化连续交付流程。是否有人对此工具的问题支持有经验?
谢谢。
2个回答

5
免责声明:我在去年秋季之前是GoCD的活跃贡献者。我没有使用GitLab CI,所以不会谈论它 :) 另外,在过去的一年中,我没有使用过这些工具。
我认为TeamCity是一个很好的CI工具。如果你想调试一些失败的情况,它与IDE集成非常好。测试报告非常出色。但我认为他们在CD领域并不那么先进,而且我认为你需要两者。但是,如果您只对CI感兴趣,您可能需要看一下它。但是,您将错过我下面提到的一些GoCD的好功能。
Jenkins拥有庞大的社区,但Jenkins也有自己的缺点。例如,由于另一个插件的兼容性问题,许多时候一个插件无法正常工作。
GoCD具有Fan-in/Fan-out支持,可以避免许多不必要的构建,节省了大量的构建时间和资源。价值流程图直观易懂,并有助于从开发人员、QA甚至交付经理的角度获得更好的构建阶段的全貌。GoCD中的管道建模也非常好。如果您阅读Jez Humble和David Farley关于持续交付的书籍,您将看到这种构建设计背后的力量。
现在,回答您的第二个问题:
现在我倾向于使用GoCD,因为它具有Fan-in/Fan-out支持和持续交付管道的可视化功能,有人对这个工具的问题支持有经验吗?
很高兴听到这个消息:P 我喜欢GoCD。支持很好。如果您选择走开源的路线,邮件列表非常活跃。您可以期望在一两天内收到来自GoCD团队的回复。当然,您的问题必须是真实而具体的。在发布问题之前查看论坛可以帮助您 :)
您还可以选择从ThoughtWorks购买GoCD的支持。他们曾经提供多种支持层次,不确定当前的支持模型。只有当您的数据库变得过大(~5-7 GB)时,您可能才会遇到问题,此时您可能需要考虑使用ThoughtWorks的专有Postgres DB支持。我见过很少使用该DB大小的GoCD用户。

谢谢您的回复,接下来我想到了一个问题,我只是想确认一下,这与项目的类型无关,对吗?所以,如果它是C#、PHP或其他什么语言,只需要编写并添加不同的测试来执行就可以了? - user1456158
2
是的,你说得对。这并不重要它是什么类型的项目。 - Ali

1
我有很多Teamcity的经验,也有一些Gocd的经验。如果你对fan-in/fan-out感兴趣,同样可以在Teamcity中实现——它被称为构建链。此外,在官方博客上还有一个关于这个主题的好文章。如果我能选择,我会更喜欢Teamcity。它是一个更成熟、功能更丰富的产品,适合在企业环境中使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接