詹金斯vs特拉维斯-CI。您将在开源项目中使用哪一个?[关闭]


270

对于我的项目,我需要在Jenkins和Travis-CI之间进行选择。我已经使用Jenkins多年了,但我也阅读了有关Travis-CI的好评。

您将在开源项目中使用哪一个?两者的主要优点或优点是什么?

Answers:


293

Travis-ci和Jenkins,两者都是持续集成的工具,却大不相同。

Travis是一项托管服务(开源免费),而您必须托管,安装和配置Jenkins。

特拉维斯没有工作在詹金斯。运行测试代码的命令来自.travis.yml项目文件中一个名为的文件。由于每个分支可以具有自己的.travis.yml文件版本,因此使每个分支具有不同的测试代码变得容易。

如果您使用以下插件之一,则可以与Jenkins拥有类似的功能:

  • Travis YML插件 -警告:似乎并不流行,与真正的Travis相比,功能可能不完整。
  • Jervis-对Jenkins的修改,使其可以从位于.jervis.yml项目代码根目录的文件中读取创建作业。如果.jervis.yml不存在,它将退回到使用.travis.yml文件。

您还可以考虑对其他托管服务进行持续集成(非详尽列表):


如何选择?

您可能想留在Jenkins,因为您熟悉它,或者不想依赖第三者来进行持续集成。否则,我会放弃Jenkins并使用其中一种免费的托管CI服务,因为它们为您省去了很多麻烦(托管,安装,配置,准备作业)

根据托管代码存储库的位置,我将做出以下选择:

  • 内部→Jenkins或gitlab-ci
  • Github.com→Travis-CI

要在github项目上设置Travis-CI,您要做的就是:

  • 在项目的根目录添加.travis.yml文件
  • 在travis-ci.com上创建一个帐户并激活您的项目

您获得的功能是:

  • Travis将对回购上的每一次推送进行测试
  • Travis将对每个请求请求的参与者进行测试

25
以我的经验,在Travis上使用Jenkins还将为您省去很多麻烦(.travis.yml!)。如果您有能力运行自己的Jenkins,我强烈建议您选择。很好地控制您的CI环境100%。
西蒙·福斯伯格

21
Jenkins Pipeline插件(在大多数情况下用于替换自由样式的项目)允许将管道常规脚本放置在项目中的文件(通常命名为“ Jenkinsfile”)中,从而使其具有与上面的Travis-CI,并得到詹金斯团队的支持而增加了好处。
KhainTCore

48

我同时从事Travis和Jenkins的工作:我将列出两者的一些功能:

为项目设置CI

特拉维斯位居第一。设置非常容易。用不到一分钟的时间即可安装GitHub。

  1. 登录到GitHub
  2. 为Travis创建Web挂钩(编辑:
  3. 返回Travis,并使用您的GitHub凭据登录
  4. 同步您的GitHub存储库并启用Push和Pull请求。

詹金斯:

  1. 创建环境(詹金斯大师)
  2. 创建网络挂钩
  3. 配置每个作业(花时间比较Travis)

重新运行构建

特拉维斯(Travis):在GitHub上具有写访问权的任何人都可以通过单击`重新启动构建来重新运行构建。

Jenkins:重新运行基于短语的构建。您可以在PR /提交说明中提供短语文本,例如reverify jenkins

控制环境

Travis: Travis提供托管环境。它会为每个版本安装所需的软件。这是一个耗时的过程。

詹金斯:一次性设置。在节点/从属计算机上安装所有必需的软件,然后在预安装的环境中进行构建/测试。

构建日志:

Travis:支持将构建日志放置在Amazon S3中。

Jenkins:易于使用构建工件插件进行设置。


你能告诉我,什么是S3?
Pooja

@Pooja Amazon S3
adrianN

30

我建议Travis进行开源项目。它很容易配置和使用。

设置简单步骤:

  1. 应该具有GITHUB帐户,并使用您的GITHUB帐户在Travis CI网站上注册。
  2. .travis.yml在项目的根目录中添加文件。在存储库设置页面中将Travis添加为服务。

现在,每次您提交到存储库时,Travis都会构建您的项目。您可以按照简单的步骤开始使用Travis CI。


7
使用Travis CI进行开源的警告:它在Linux或OSX而非Windows上运行其构建和测试。因此,如果您的项目是.NET或PowerShell,则需要使用.NET(Mono或.NET Core)或PowerShell(PowerShell Core)的跨平台版本编写,才能使用Travis CI 。更Windows的友好托管CI工具Appveyor ..
西蒙Tewsi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.