詹金斯 vs Travis-CI。对于开源项目,您会使用哪一个?
Jenkins vs Travis-CI. Which one would you use for a Open Source project?
对于我的项目,我需要在 Jenkins 和 Travis-CI 之间做出选择。我多年来一直在使用 Jenkins,但我也阅读了关于 Travis-CI 的好评。
您会为开源项目使用哪一个?两者的主要好处或优势是什么?
Travis-ci 和 Jenkins,虽然都是持续集成的工具,但有很大的不同。
Travis 是一种托管服务(开源免费),而您必须托管、安装和配置 Jenkins。
Travis 没有 Jenkins 中的 jobs。 运行 测试代码的命令取自名为 .travis.yml
的文件,该文件位于您的项目代码中。这使得每个分支都有不同的测试代码变得容易,因为每个分支都可以有自己的 .travis.yml 文件版本。
如果您使用以下插件之一,您可以在 Jenkins 中获得类似的功能:
- Travis YML Plugin - 警告:似乎不受欢迎,与真正的 Travis 相比可能功能不完整。
- Jervis - 对 Jenkins 的修改,使其从项目代码根目录中的
.jervis.yml
文件中读取创建作业。如果 .jervis.yml
不存在,它将回退到使用 .travis.yml
文件。
您还可以考虑将其他托管服务用于持续集成(非详尽列表):
如何选择?
您可能希望继续使用 Jenkins,因为您熟悉它或者不想依赖第 3 方来实现您的持续集成系统。
否则我会放弃 Jenkins 并使用其中一种免费托管 CI 服务,因为它们可以为您省去很多麻烦(托管、安装、配置、准备工作)
根据托管代码存储库的位置,我会做出以下选择:
- in-house → 詹金斯或 gitlab-ci
- Github.com→Travis-CI
要在 github 项目上设置 Travis-CI,您只需:
- 在项目的根目录添加一个 .travis.yml 文件
- 在 travis-ci.com 创建一个帐户并激活您的项目
您获得的功能是:
- Travis 将 运行 测试你对你的 repo 所做的每一次推送
- Travis 将 运行 您对每个拉取请求贡献者的测试
我建议将 Travis 用于开源项目。配置和使用都很简单。
简单的设置步骤:
- 应该 GITHUB account and register in Travis CI 网站使用您的 GITHUB 帐户。
- 在项目的根目录中添加
.travis.yml
文件。在您的存储库设置页面中将 Travis 添加为服务。
现在,每次您提交到您的存储库时,Travis 都会构建您的项目。您可以关注 simple steps to get started 和 Travis CI。
我在 Travis 和 Jenkins 上工作过:我将列出两者的一些特性:
项目的设置CI
Travis 位居第一。它很容易设置。使用 GitHub.
设置不到一分钟
- 登录GitHub
- 为 Travis 创建 Web 挂钩。
- Return 至 Travis,并使用您的 GitHub 凭据登录
- 同步您的 GitHub 存储库并启用推送和拉取请求。
詹金斯:
- 创建环境(Jenkins 大师)
- 创建网络挂钩
- 配置每个作业(与 Travis 相比需要时间)
重新运行构建
Travis:任何对 GitHub 具有写入权限的人都可以通过单击“重新启动构建
重新运行构建
Jenkins: Re-运行 基于短语构建。您在 PR/commit 描述中提供短语文本,例如 reverify jenkins
。
控制环境
Travis:Travis 提供托管环境。它为每个构建安装所需的软件。这是一个耗时的过程。
詹金斯: 一次性设置。在 node/slave 机器上安装所有必需的软件,然后在预安装的环境中 builds/tests。
构建日志:
Travis: 支持构建日志放置在 Amazon S3 中。
Jenkins:易于使用构建工件插件进行设置。
对于我的项目,我需要在 Jenkins 和 Travis-CI 之间做出选择。我多年来一直在使用 Jenkins,但我也阅读了关于 Travis-CI 的好评。
您会为开源项目使用哪一个?两者的主要好处或优势是什么?
Travis-ci 和 Jenkins,虽然都是持续集成的工具,但有很大的不同。
Travis 是一种托管服务(开源免费),而您必须托管、安装和配置 Jenkins。
Travis 没有 Jenkins 中的 jobs。 运行 测试代码的命令取自名为 .travis.yml
的文件,该文件位于您的项目代码中。这使得每个分支都有不同的测试代码变得容易,因为每个分支都可以有自己的 .travis.yml 文件版本。
如果您使用以下插件之一,您可以在 Jenkins 中获得类似的功能:
- Travis YML Plugin - 警告:似乎不受欢迎,与真正的 Travis 相比可能功能不完整。
- Jervis - 对 Jenkins 的修改,使其从项目代码根目录中的
.jervis.yml
文件中读取创建作业。如果.jervis.yml
不存在,它将回退到使用.travis.yml
文件。
您还可以考虑将其他托管服务用于持续集成(非详尽列表):
如何选择?
您可能希望继续使用 Jenkins,因为您熟悉它或者不想依赖第 3 方来实现您的持续集成系统。 否则我会放弃 Jenkins 并使用其中一种免费托管 CI 服务,因为它们可以为您省去很多麻烦(托管、安装、配置、准备工作)
根据托管代码存储库的位置,我会做出以下选择:
- in-house → 詹金斯或 gitlab-ci
- Github.com→Travis-CI
要在 github 项目上设置 Travis-CI,您只需:
- 在项目的根目录添加一个 .travis.yml 文件
- 在 travis-ci.com 创建一个帐户并激活您的项目
您获得的功能是:
- Travis 将 运行 测试你对你的 repo 所做的每一次推送
- Travis 将 运行 您对每个拉取请求贡献者的测试
我建议将 Travis 用于开源项目。配置和使用都很简单。
简单的设置步骤:
- 应该 GITHUB account and register in Travis CI 网站使用您的 GITHUB 帐户。
- 在项目的根目录中添加
.travis.yml
文件。在您的存储库设置页面中将 Travis 添加为服务。
现在,每次您提交到您的存储库时,Travis 都会构建您的项目。您可以关注 simple steps to get started 和 Travis CI。
我在 Travis 和 Jenkins 上工作过:我将列出两者的一些特性:
项目的设置CI
Travis 位居第一。它很容易设置。使用 GitHub.
设置不到一分钟- 登录GitHub
- 为 Travis 创建 Web 挂钩。
- Return 至 Travis,并使用您的 GitHub 凭据登录
- 同步您的 GitHub 存储库并启用推送和拉取请求。
詹金斯:
- 创建环境(Jenkins 大师)
- 创建网络挂钩
- 配置每个作业(与 Travis 相比需要时间)
重新运行构建
Travis:任何对 GitHub 具有写入权限的人都可以通过单击“重新启动构建
重新运行构建Jenkins: Re-运行 基于短语构建。您在 PR/commit 描述中提供短语文本,例如 reverify jenkins
。
控制环境
Travis:Travis 提供托管环境。它为每个构建安装所需的软件。这是一个耗时的过程。
詹金斯: 一次性设置。在 node/slave 机器上安装所有必需的软件,然后在预安装的环境中 builds/tests。
构建日志:
Travis: 支持构建日志放置在 Amazon S3 中。
Jenkins:易于使用构建工件插件进行设置。