对于我的项目,我需要在Jenkins和Travis-CI之间做出选择。我多年来一直在使用Jenkins,但我也读过关于Travis-CI的好评。
您将在开源项目中使用哪一个?两者的主要好处或优点是什么?
答案 0 :(得分:270)
Travis-ci和Jenkins,虽然两者都是持续整合的工具,但却非常不同。
Travis是托管服务(免费用于开源),而您必须托管,安装和配置Jenkins。
Travis没有像詹金斯那样的工作。运行以测试代码的命令来自名为<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="repeat"
/>
的文件,该文件位于项目代码中。这使得每个分支可以轻松拥有不同的测试代码,因为每个分支都可以拥有自己的.travis.yml文件版本。
如果您使用以下插件之一,则可以使用与Jenkins类似的功能:
.travis.yml
文件创建作业。如果.jervis.yml
不存在,则会改为使用.jervis.yml
文件。您还可以考虑进行持续集成的其他托管服务(非详尽列表):
您可能希望与Jenkins保持联系,因为您熟悉它或者不想依赖第三方进行持续集成系统。 否则我会放弃Jenkins并使用其中一个免费的托管CI服务,因为它们可以为您节省很多麻烦(主机,安装,配置,准备工作)
根据托管代码存储库的位置,我会做出以下选择:
要在github项目上设置Travis-CI,您所要做的就是:
您获得的功能是:
答案 1 :(得分:37)
我在Travis和Jenkins上工作过:我将列出两者的一些特征:
特拉维斯排在第一位。它很容易设置。使用GitHub设置不到一分钟。
詹金斯:
Travis:任何对GitHub具有写访问权限的人都可以通过点击`restart build
重新运行构建 Jenkins:根据短语重新运行构建。您可以在PR / commit描述中提供短语文本,例如reverify jenkins
。
Travis: Travis提供托管环境。它为每个构建安装所需的软件。这是一个耗时的过程。
Jenkins:一次性设置。在节点/从机上安装所有必需的软件,然后在预安装的环境中构建/测试。
Travis:支持构建日志以放置在Amazon S3中。
Jenkins:使用构建工件插件轻松设置。
答案 2 :(得分:26)
我建议Travis开源项目。配置和使用起来非常简单。
简单的设置步骤:
.travis.yml
文件。在存储库设置页面中添加Travis作为服务。现在每次进入您的存储库时,Travis都会构建您的项目。您可以使用Travis CI跟踪simple steps to get started。