对于我的项目,我需要在Jenkins和Travis-CI之间做出选择 . 我多年来一直在使用Jenkins,但我也读过关于Travis-CI的好评 .
您将在开源项目中使用哪一个?两者的主要好处或优点是什么?
Travis-ci和Jenkins虽然都是持续集成的工具,但却截然不同 .
Travis是托管服务(免费用于开源),而您必须托管,安装和配置Jenkins .
特拉维斯没有像詹金斯那样的工作 . 运行以测试代码的命令取自名为 .travis.yml 的文件,该文件位于项目代码中 . 这使得每个分支都可以轻松拥有不同的测试代码,因为每个分支都可以拥有自己的.travis.yml文件版本 .
.travis.yml
如果您使用以下插件之一,则可以与Jenkins具有类似的功能:
Travis YML Plugin - 警告:似乎不受欢迎,可能与真正的特拉维斯相比并不完整 .
Jervis - 对Jenkins进行修改,使其从项目代码根目录下的 .jervis.yml 文件中读取创建作业 . 如果 .jervis.yml 不存在,它将回退到使用 .travis.yml 文件 .
.jervis.yml
您还可以考虑进行持续集成的其他托管服务(非详尽列表):
Circle CI
Wercker
drone.io
Gitlab-CI
codeship
shippable
semaphore
您可能希望与Jenkins保持联系,因为您熟悉它或者不想依赖第三方来实现持续集成系统 . 否则我会放弃Jenkins并使用其中一个免费的托管CI服务,因为它们可以为您节省很多麻烦(主机,安装,配置,准备工作)
根据托管代码存储库的位置,我将做出以下选择:
内部→Jenkins或gitlab-ci
Github.com→Travis-CI
要在github项目上设置Travis-CI,您所要做的就是:
在项目的根目录中添加.travis.yml文件
在travis-ci.com创建一个帐户并激活您的项目
您获得的功能是:
Travis将为您的回购中的每次推送运行测试
Travis将对贡献者提出的每个拉取请求进行测试
我在Travis和Jenkins上工作过:我将列出两者的一些功能:
Travis 排在第一位 . 这很容易设置 . 使用GitHub设置不到一分钟 .
登录GitHub
为特拉维斯创建Web挂钩( edit:
返回Travis,并使用您的GitHub凭据登录
同步您的GitHub存储库并启用推送和拉取请求 .
Jenkins:
创造一个环境(詹金斯大师)
创建Web挂钩
配置每项工作(与Travis相比需要时间)
Travis: 任何对GitHub具有写访问权限的人都可以通过单击`restart build重新运行构建
Jenkins: 根据短语重新运行构建 . 您在PR / commit描述中提供短语文本,如 reverify jenkins .
reverify jenkins
Travis: Travis提供托管环境 . 它为每个构建安装所需的软件 . 这是一个耗时的过程 .
Jenkins: 一次性设置 . 在节点/从机上安装所有必需的软件,然后在预安装的环境中构建/测试 .
Travis: 支持构建日志以放置在Amazon S3中 .
Jenkins: 易于使用构建工件插件进行设置 .
我建议Travis开源项目 . 配置和使用起来非常简单 .
简单的设置步骤:
应该有GITHUB帐户并使用您的GITHUB帐户在Travis CI网站注册 .
在项目的根目录中添加 .travis.yml 文件 . 在存储库设置页面中添加Travis作为服务 .
现在每次进入您的存储库时,Travis都会构建您的项目 . 您可以使用Travis CI关注simple steps to get started .
3 回答
Travis-ci和Jenkins虽然都是持续集成的工具,但却截然不同 .
Travis是托管服务(免费用于开源),而您必须托管,安装和配置Jenkins .
特拉维斯没有像詹金斯那样的工作 . 运行以测试代码的命令取自名为
.travis.yml
的文件,该文件位于项目代码中 . 这使得每个分支都可以轻松拥有不同的测试代码,因为每个分支都可以拥有自己的.travis.yml文件版本 .如果您使用以下插件之一,则可以与Jenkins具有类似的功能:
Travis YML Plugin - 警告:似乎不受欢迎,可能与真正的特拉维斯相比并不完整 .
Jervis - 对Jenkins进行修改,使其从项目代码根目录下的
.jervis.yml
文件中读取创建作业 . 如果.jervis.yml
不存在,它将回退到使用.travis.yml
文件 .您还可以考虑进行持续集成的其他托管服务(非详尽列表):
Circle CI
Wercker
drone.io
Gitlab-CI
codeship
shippable
semaphore
如何选择?
您可能希望与Jenkins保持联系,因为您熟悉它或者不想依赖第三方来实现持续集成系统 . 否则我会放弃Jenkins并使用其中一个免费的托管CI服务,因为它们可以为您节省很多麻烦(主机,安装,配置,准备工作)
根据托管代码存储库的位置,我将做出以下选择:
内部→Jenkins或gitlab-ci
Github.com→Travis-CI
要在github项目上设置Travis-CI,您所要做的就是:
在项目的根目录中添加.travis.yml文件
在travis-ci.com创建一个帐户并激活您的项目
您获得的功能是:
Travis将为您的回购中的每次推送运行测试
Travis将对贡献者提出的每个拉取请求进行测试
我在Travis和Jenkins上工作过:我将列出两者的一些功能:
为项目设置CI
Travis 排在第一位 . 这很容易设置 . 使用GitHub设置不到一分钟 .
登录GitHub
为特拉维斯创建Web挂钩( edit:
返回Travis,并使用您的GitHub凭据登录
同步您的GitHub存储库并启用推送和拉取请求 .
Jenkins:
创造一个环境(詹金斯大师)
创建Web挂钩
配置每项工作(与Travis相比需要时间)
重新运行构建
Travis: 任何对GitHub具有写访问权限的人都可以通过单击`restart build重新运行构建
Jenkins: 根据短语重新运行构建 . 您在PR / commit描述中提供短语文本,如
reverify jenkins
.控制环境
Travis: Travis提供托管环境 . 它为每个构建安装所需的软件 . 这是一个耗时的过程 .
Jenkins: 一次性设置 . 在节点/从机上安装所有必需的软件,然后在预安装的环境中构建/测试 .
构建日志:
Travis: 支持构建日志以放置在Amazon S3中 .
Jenkins: 易于使用构建工件插件进行设置 .
我建议Travis开源项目 . 配置和使用起来非常简单 .
简单的设置步骤:
应该有GITHUB帐户并使用您的GITHUB帐户在Travis CI网站注册 .
在项目的根目录中添加
.travis.yml
文件 . 在存储库设置页面中添加Travis作为服务 .现在每次进入您的存储库时,Travis都会构建您的项目 . 您可以使用Travis CI关注simple steps to get started .