Jenkins VS Travis CI
Jenkins和Travis CI是连续集成(CI)工具,可以让开发人员在开发过程中集成代码分支并运行一系列自动化测试。它们都将构建、测试和部署软件这一耗时的手动任务转化为快速自动化的过程。
在比较Travis CI和Jenkins时,我们需要考虑我们的业务需求和预算。
Jenkins
Jenkins是最流行的开源自动化服务器,使用Java编写。它可以在软件开发过程中实现连续集成和连续交付(CI/CD)的自动化流程。
Jenkins支持超过1400个其他软件工具的插件。这些插件使Jenkins可以扩展到五个方面:平台、用户界面、管理、源代码管理和构建管理。
Jenkins易于安装和使用,它提供了一个令人印象深刻的浏览器托管的项目管理仪表板。
一些选择Jenkins的常见原因是:
- 开源和免费
- 使用广泛并有很好的文档支持
- 活跃的用户社区
- 与各种工具和技术的集成
- 插件支持
- 安装、配置和升级易于操作
- 分布式构建
- 监控外部任务
- 支持各种认证方法、通知、版本控制系统等
Travis CI
Travis CI是第一个作为服务的连续集成工具。它引入了一种在云中构建代码的新方法。Travis CI工具允许用户注册、链接其存储库,并构建和测试其应用程序。
这个工具可以轻松地与Bitbucket和GitHub等常见的云存储库集成。它提供了许多自动化的CI选项,不需要使用专用服务器,因为Travis CI服务器托管在云中。这使我们能够在不同环境下、在不同操作系统上运行的各种机器上进行测试。
对于开源项目,Travis CI是免费的。对于商业项目,我们需要购买企业计划。
选择Travis CI的一些原因包括:
- 与GitHub自动集成
- 预安装的构建和测试工具
- 存储库访问以构建拉请求
- 提供数据库、消息队列等服务
- 部署到多个云服务
- 加密安全环境变量或文件
- CLI客户端和用于脚本编写的API
- 支持包括C、C#、C ++、Android、Java、JavaScript(带有Node.js)、PHP、Perl、Python、R、Ruby等21种语言
- 该工具集成了HipChat、Slack、电子邮件等
- 它可以识别小型和大型代码更改
- 构建成果物和检查代码质量
- 可以同时在Linux和Mac OS X上运行测试
Jenkins与Travis CI对比表
以下是Jenkins和Travis CI之间的主要对比:
Jenkins | Travis CI |
---|---|
Jenkins是一个允许CI(持续集成)的软件工具。 | Travis CI是一个分布式CI服务,用于在GitHub上测试和构建项目。 |
它主要是用Java编写的。 | 它主要是用Ruby编写的。 |
它由Sun Microsystems开发,并最初称为Hudson。 | Travis CI由Travis CI社区开发。 |
Jenkins具有完全的系统控制。 | 它的系统控制很少。 |
Jenkins支持多个版本控制系统,如GIT和SVN。 | Travis CI仅支持GitHub版本控制。 |
它支持Windows、Mac、Linux等所有平台。 | 它不支持Windows。它只支持Linux和Mac。 |
Jenkins有许多插件可用。 | 支持较少的插件并在Travis CI中使用。 |
Jenkins的网站是Jenkins.io。 | Travis CI的网站是Travis.ci.org。 |
Jenkins是免费的。但开发团队需要运行和维护他们自己的专用服务器。这可能被视为额外的费用。 | Travis CI企业套件起价129美元/月。费用根据所需支持的水平而增加。 |
它是一个开源免费使用的工具。 | 它是一个商业的CI工具。 |
它很容易使用。 | 它很灵活使用。 |
它适用于GitHub。 | 它对于GitHub非常出色。 |
它是一个基于服务器的工具。 | 它是一个基于云的工具。 |
它提供更多的自定义选项。 | 它提供较少的自定义选项。 |
Jenkins具有高度可扩展性。 | Travis CI比Jenkins的可扩展性较低。 |
Jenkins可以内部托管。 | Travis CI无法内部托管。 |
Jenkins拥有大量的资源、强大的社区支持和教程。 | Travis CI只有社区支持和教程,资源较少。 |
Jenkins主要由顶级公司使用。 | Travis CI被好公司使用,但尚未达到顶级公司。 |
Jenkins安装和使服务运行只需一条命令即可。 | Travis CI通过.travis.yaml文件更容易配置。 |
因此,通过以上讨论,我们可以看到Travis CI和Jenkins都提供了很棒的功能。然而,小型开源项目最适合使用Travis CI,因为它易于运行和快速设置。另一方面,大型企业最适合使用Jenkins,因为它为私有项目提供免费许可证和广泛的可定制功能。因此,我们可以说这两个CI工具在各自的领域都很好。