Jenkins 与特拉维斯-CI。您会在开源项目中使用哪一个?

标签 jenkins continuous-integration travis-ci

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

4年前关闭。



Improve this question




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

您会在开源项目中使用哪一个?两者的主要好处或优势是什么?

最佳答案

Travis-ci 和 Jenkins,虽然两者都是持续集成的工具,但有很大的不同。
Travis 是一项托管服务(开源免费),而您必须托管、安装和配置 Jenkins。
Travis 没有 Jenkins 那样的工作。运行以测试代码的命令取自名为 .travis.yml 的文件。它位于您的项目代码中。这使得每个分支有不同的测试代码很容易,因为每个分支都可以有自己的 .travis.yml 文件版本。
如果您使用以下插件之一,您可以在 Jenkins 中使用类似的功能:

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

  • 您还可以考虑用于持续集成的其他托管服务(非详尽列表):
  • Circle CI
  • Wercker
  • drone.io
  • Gitlab-CI
  • codeship
  • shippable
  • semaphore

  • 如何选择?
    您可能希望继续使用 Jenkins,因为您熟悉它或者不想依赖 3rd 方来构建您的持续集成系统。
    否则,我会放弃 Jenkins 并使用其中一项免费托管 CI 服务,因为它们可以为您省去很多麻烦(托管、安装、配置、准备作业)
    根据您的代码存储库的托管位置,我将做出以下选择:
  • 内部 → Jenkins 或 gitlab-ci
  • Github.com → Travis-CI

  • 要在 github 项目上设置 Travis-CI,您所要做的就是:
  • 添加 .travis.yml项目根目录下的文件
  • 在 travis-ci.com 上创建一个帐户并激活您的项目

  • 您获得的功能是:
  • Travis 将为您的 repo 上的每次推送运行您的测试
  • Travis 将对贡献者所做的每个拉取请求运行您的测试
  • 关于 Jenkins 与特拉维斯-CI。您会在开源项目中使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32422264/

    相关文章:

    python - 优化 ReadTheDocs 项目的构建时间

    java - "java.lang.OutOfMemoryError"生成诱惑报告时

    ios - Jenkins 在使用 Cocoapods 构建 Xcode 项目时返回 "unknown error -1=ffffffffffffffff"

    jenkins - Gradle + Jenkins + Artifactory Pro:发布阶段和升级

    node.js - Google App Engine 和 Travis CI 上的 NodeJS 环境变量

    docker - 使用 sudo :false 在 Travis-ci 上安装软件包

    http - 为什么我在 Jenkins 上运行 Scala 测试时得到 302 HTTP 状态代码而不是 204?

    jenkins - 如何在 Jenkins Pipeline 构建中的构建中保留环境?

    php - 如何制作可移植的 PHPUnit?

    github - 在多个环境中运行 GitHub Action