您的位置: 网站首页> it面试题> 当前文章
Travis CI与Jenkins有什么区别?
老董-我爱我家房产SEO2023-06-30153围观,110赞
Travis CI与Jenkins这两种产品都具有非常好的功能。如果使用GitHub进行版本控制,那么Travis CI比Jenkins具有优势,因为它与GitHub紧密集成。另一方面,Jenkins经过多年的开发和使用,也被初创公司(和大型企业)使用。这二者有什么区别呢?
1、设置和安装:Jenkins:Jenkins是一个独立的Java程序,安装即可无缝运行。如果预先安装了Java和Tomcat服务器,那么安装Jenkins总共涉及三个主要步骤。Jenkins可用于Windows、Unix和macOS平台。Jenkins可以与Docker结合,以提高自动化测试的速度和一致性。Jenkins可以在Java容器(如GlassFish和Apache Tomcat)中作为servlet运行;Travis CI使用带有云托管代码存储库的Travis CI工具不需要进行任何安装。但是,必须满足拥有GitHub或Bitbucket的帐户;要通过GitHub才能使用Travis CI,开发人员需要在Travis上注册GitHub;从Travis设置页面启用用于测试的存储库,并将.travis.yml(YAML文本文件)添加到根目录。
2、便于使用性:Jenkins的重点一直是功能而不是可用性,但这并不意味着它对用户不友好,因为文档详尽到足以开始使用Jenkins。Jenkins的升级过程也简单直接,所有配置都存储在一个简单的XML文件中,管理员可以直接从文件系统编辑。因此,更改可以在多个Jenkins项目中快速传播,而不是从UI执行相同操作;Travis CI由于与GitHub紧密集成,Travis CI是许多开源项目的首选CI/CD工具,为了便于监控,测试结果会显示在GitHub UI上。
3、并行执行:Travis CI支持并行测试,它还可以与Slack、HipChat、电子邮件等工具集成,并在构建失败时收到通知。开发人员可以通过跨不同虚拟机并行执行多个构建来加速他们的测试套件。对于并行测试,需要对.travis.yml文件进行更改以充分利用帐户的可用容量。可以在单个VM(虚拟机)或多个VM上为RSpec、Cucumber或Minitest执行并行构建;Parallel Test Executor Plugin用于使用Jenkins进行并行执行。由于不同的构建共享相同的环境,可能会遇到Jenkins中并行构建的问题,尤其是在访问文件系统等共享资源时。并行构建是CI/CD工具不可或缺的一部分,在Travis CI与Jenkins的比较中没有明显的赢家。
4、应用程序和插件生态系统:Jenkins:Jenkins是一个拥有大量插件生态系统的开源项目,正蓬勃发展。目前,Jenkins提供了1500多个插件,每个插件都支持构建、部署、自动化;Travis CI支持21种编程语言,例如C、C++、Java、Perl、PHP、Python、R、JavaScript(使用Node.js)等。根据语言偏好,可以为Travis CI下载社区开发的应用程序。就应用程序和插件生态系统而言,Jenkins显然是赢家,因为它拥有足够的社区支持,截至2020年7月,Jenkins有628名贡献者,而Travis CI只有102名。
5、第三方(和云)集成:Jenkins:与Travis CI一样,Jenkins也支持与流行的云平台集成,可以使用插件完成集成;Travis CI:Travis CI是一个基于云的CI服务器,可以在其中添加托管在其他服务器(GitHub和BitBucket除外)上的存储库作为子模块。如果源代码是公开的,可以免费使用Travis CI。Travis CI内置了AWS、Azure、Google Cloud等流行云提供商的插件。当涉及到将新的GitHub项目与旧的项目集成时,这些插件就派上用场了。它们还可用于在各种GitHub事件上运行构建和配置构建参数。
6、特点和能力:Jenkins易于使用,可以使用插件进行定制。社区是Jenkins的支柱,如果想使用在社区支持下蓬勃发展的CI/CD工具,应该选择Jenkins;考虑到Travis CI广泛用于开源项目,与GitHub的开箱即用集成是Travis CI的主要优势之一。另一方面,当尝试将Travis CI与除GitHub之外的任何控制平台集成时,它会变得更加复杂。无论是与浏览器(或命令行客户端)一起使用,该工具都具有现代UI和良好的体验。
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
Travis CI与Jenkins有什么区别?文章写得不错,值得赞赏


