3天学会Jenkins_8_Jenkins vs Travis-CI, 有何区别

2023-05-16

转载注明出处,欢迎关注微信小程序小白AI博客 微信公众号小白AI或者网站 https://xiaobaiai.net或者我的CSDN https://blog.csdn.net/freeape

1 什么是CI?

持续集成是一种软件开发方法,团队成员可以在一天内至少整合一次他们的工作。在此方法中,每个集成都由自动构建检查并检索错误。CI概念最初是在20多年前引入的,以避免“集成地狱”,这种情况发生在集成推迟到项目结束时。

在本节中,你将学会:

  • 什么是CI?
  • 什么是Travis CI?
  • 什么是Jenkins?
  • Travis能做啥?
  • Jenkin能做啥?
  • Travis CI特点
  • Jenkin特点
  • Travis vs Jenkin
  • 人气指数
  • 哪个更好?

2 CI是如何工作的?

  • 开发人员提交代码到代码管理仓库
  • 然后,CI服务器监视代码仓库并评估所有提交
  • CI编译项目并进行集成和单元测试
  • 服务器发布可部署的软件部件
  • 持续集成服务器为版本和构建代码分配构建标记
  • 然后CI服务器向团队报告成功构建。如果测试失败,服务器会向开发团队发出有关该事件的警报。团队将尽可能快地解决问题。

3 什么是Travis CI?

Travis CI是第一个CI,并作为一个服务性工具。它引入了一种在云中构建代码的新方法。此CI工具允许用户注册,链接其存储库,构建以及测试其应用程序。

Travis CI工具可以轻松地与GitHub和Bitbucket等常见云存储库集成。它提供了许多自动CI选项,因为Travis CI服务器托管在云中,因此无需专用服务器。这允许你在不同的环境中,在不同的机器上进行测试,在不同的操作系统上运行。

Travis CI对开源项目是免费的。对于商业项目,您需要购买企业版本。

4 什么是Jenkins?

Jenkins是一款屡获殊荣的持续集成工具,可监控部署周期的执行情况。它起初是Sun软件工程师小组的一个副项目。后来,它被扩展为流行的开源CI工具之一,可帮助软件开发团队自动化部署。

Jenkins是一个基于Java的工具,这意味着你只需要有Java Runtime Environment就可以运行它。因此,Jenkins可以安装在运行Java的任何操作系统上。

在此工具中,开发人员还可以为自定义构建指定条件。Jenkins支持大量的插件存档。这允许开发人员改变Jenkin的外观和操作方式。

此外,Jenkins Pipeline插件套件还带有特殊工具,允许开发人员使用编程的方式对易于复杂的交付管道进行建模。

5 Travis能做啥?

Travis CI提供以下好处:

  • 你可以监控Github项目
  • 运行测试并快速生成结果,可以执行并行测试。
  • 构建工件并检查代码质量
  • 轻松部署成云服务
  • 可以识别小代码和大代码更改。
  • 开发人员可以使用Travis CI在运行时观察测试
  • 该工具集成了Slack,HipChat,Email等。

6 Jenkins能干啥?

  • Jenkins允许您自动化构建,测试和部署任务。该工具为Windows,Mac OSX和Linux系统等不同操作系统提供支持。
  • 此外,Jenkins能够快速构建和测试代码,以便及早获得有关是否已准备好生成的反馈。在大多数情况下,Jenkin将根据团队的自定义要求进行少量修改
  • 同样的支持大量插件,也可以实现邮件通知等功能

7 Travis CI特性

  • 与GitHub自动集成
  • 存储库访问通过构建拉取请求来实现
  • 支持21种语言,如AndroidCC#C++JavaJavaScript(使用Node.js),PerlPHPPythonRRuby
  • 预安装的构建和测试工具
  • 可用服务包含数据库,消息队列等
  • 部署到多个云服务
  • 加密安全的环境变量或文件
  • 每次构建后都会重新创建虚拟机
  • 拥有用于编写脚本的CLI客户端和API
  • 附带免费的基于云的托管,无需维护或管理

8 Jenkins特性

  • 易于安装,升级和配置
  • 分布式构建
  • 监控外部工作
  • 超过上千个插件可自定义Jenkins环境
  • 到目前为止,Github上大约有4000多个issues被关闭,500多个贡献者,10000+star,该项目每3个月发布一次稳定版本,每个月都会有小版本发布
  • 支持各种身份验证方法,版本控制系统,通知等。
  • Jenkins提供远程访问API及其功能
  • 为大型项目提供强大的CI / CD工具
  • 它支持各种工作模式,如Freestyle,Pipeline等
  • 允许开发人员添加其扩展名
  • 兼容Docker,Libvirt,Kubernetes和许多其他程序

9 Travis vs. Jenkins

ParameterJenkinTravis
成本免费。但是开发团队需要运行和维护他们的专用服务器。这可以被视为额外费用。Travis CI企业套房起价为每月129美元。根据所需的支持级别增加成本。
设置时间需要很长的等待时间才能完成安装设置时间非常短。创建配置文件就可以开始集成
性能如果你想要具有无限定制选项的CI工具,那么Jenkins是最佳选择。如果在开源项目中或者Github中工作,Travis CI是最佳选择
工具类型免费开源商业CI工具
使用容易使用使用灵活
Github友好绝配
支持社区广泛支持社区支持有限
优点可定制是Jenkins CI服务器的最大好处;大量插件随心所欲配置Jenkins;可以添加身份验证,警报和凭据等新功能与GitHub和云集成;具有完整功能的无限开源项目;通过.travis.ymi文件进行广泛的项目配置;允许集群测试并并行运行;多个构建环境和目标平台;
缺点Jenkins持续集成的一个主要缺点是它具有高度可配置性。没有开箱即用的设置。这就是为什么在系统中配置所有内容可能需要两到三个小时才能完成安装Travis CI的最大缺点是它的商业计划起价为129美元/每月,相当昂贵;不适合高安全性项目;与其他CI工具不同,它不提供Bitbucket支持。
版权Jenkins本身免费开源对Github开源项目免费,对企业版需付费;
服务器机器基于服务器部署基于云服务提供;
自定义选项更多较少
配置完全可自定义YAML
控制系统全部可控非常少

10 人气指数

  • Jenkins还是全球最流行的
  • Travis在配套Github方面仍然占据大头

11 哪一个更好呢?

从上面的对比分析来看,可以根据自己的需求来选择,个人还是偏向Jenkins的,毕竟开源,人多力量大,免费,可以自定义配置,虽然首次配置难了点。

但是,小型开源项目还是最适合Travis CI,因为它易于运行和快速设置。
另一方面,大型企业最适合Jenkins,因为它为私人项目提供免费许可,并提供广泛的可定制功能。因此,我们可以说这两种持续集成工具都很好。

12 趋势

未来可能以Saas服务化为趋势,大型平台提供直接的云服务,省去配置,类似Travis,支持的项目种类也会更全,让开发者专注于过程和结果,提高整个项目周期的效率,保证软件的稳定性。

13 参考链接

  • https://github.blog/2017-11-07-github-welcomes-all-ci-tools/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3天学会Jenkins_8_Jenkins vs Travis-CI, 有何区别 的相关文章

  • 在Jetson上配置RealSense相机驱动

    1 下载源码 https github com IntelRealSense librealsense span class token builtin class name cd span librealsense scripts set
  • aruco marker使用笔记

    在英伟达Jetson Xaiver开发板上配置 SDK环境 opencv 4 1 1 CUDA 10 2 1 git clone https github com pal robotics aruco ros 2 复制到catkin ws
  • catkin_make命令

    catkin make是在catkin工作区中构建代码的便捷工具 catkin make遵循catkin工作区的标准布局 xff0c 如REP 128中所述 用法 假设您的catkin工作区位于 catkin ws中 xff0c 则应始终在
  • docker容器中运行界面程序

    Docker比较常用的场景是 运行无界面的后台服务 或者 运行Web服务 不过有时出于个人的喜好或特定的需求 xff0c 我们会希望在Docker中运行带图形界面的应用程序 将容器中的图形界面展示到外部的一般性思路 xff1a 目前Unix
  • linux录屏

    Linux下好用的录屏软件是kazam录屏后视频处理软件kdenlive根据剪辑好的视频撰写解说词 xff0c 使用讯飞配音app将解说词文字转换为语音mp3将语音与视频通过kdenlive软件合成在一起 xff0c 完美的演示视频诞生了
  • 【python】conda和pip安装库之间的区别

    conda 首先 xff0c conda是一个通用的包管理器 xff0c 意思是什么语言的包都可以用其进行管理 xff0c 自然也就包括Python了 在安装Anaconda或者Miniconda时 xff0c 会对conda进行一同安装
  • OpenHarmony-Overview_zh

    OpenHarmony开源项目 项目介绍 OpenHarmony是开放原子开源基金会 xff08 OpenAtom Foundation xff09 旗下开源项目 xff0c 定位是一款面向全场景的开源分布式操作系统 OpenHarmony
  • 【python量化】用时间卷积神经网络(TCN)进行股价预测

    写在前面 下面这篇文章首先主要简单介绍了目前较为先进的时间序列预测方法 时间卷积神经网络 xff08 TCN xff09 的基本原理 xff0c 然后基于TCN的开源代码 xff0c 手把手教你如何通过时间卷积神经网络来进行股价预测 xff
  • 【python量化】将Transformer模型用于股票价格预测

    写在前面 下面的这篇文章主要教大家如何搭建一个基于Transformer的简单预测模型 xff0c 并将其用于股票价格预测当中 原代码在文末进行获取 1 Transformer模型 Transformer 是 Google 的团队在 201
  • 解读:基于GCN的股票预测模型

    前言 xff1a 自ICLR2017首次提出图卷积神经网络 xff08 GCN xff09 的概念 xff0c 该模型在节点分类 边预测等任务上表现出了出色的性能 在传统因子选股模型中 xff0c 常常将股票视为独立的个体 xff0c 但事
  • 【python量化】基于backtrader的深度学习模型量化回测框架

    写在前面 在本文中 xff0c 我们将介绍使用PyTorch构建一个深度学习模型 xff0c 并将其集成到backtrader回测框架中 具体地 xff0c 我们将使用PyTorch来实现一个长短期记忆神经网络 xff08 LSTM xff
  • 【量化交易】股票价格前复权与后复权的区别以及注意事项

    时不时就会看到到底是用股票前复权还是后复权价格的讨论 xff0c 比如下面就是一个很经典的问法 xff1a 我用前复权价格计算指标的时候 xff0c 发现会出现负价格 xff0c 就没法取log了 xff0c 应该是分红太多导致的 xff0
  • skfuzzy.cmeans与sklearn.KMeans聚类效果对比以及使用方法

    因为实验中要用到聚类效果的对比 xff0c 没有时间自己来实现算法 xff0c 所以Kmeans就用到了sklearn中的Kmeans类 xff0c FCM用到了skfuzzy cmeans 几个概念 1 Kmeans Kmeans是聚类算
  • 对论文中模型进行编程实现时的注意要求和总结

    看论文时 xff0c 如果论文中有对自己研究方向有帮助或者具有实际用处的模型时 xff0c 不免通过编程对其进行实现 如果是一个简单的模型 xff0c 用个caffe tensorflow之类的框架跑跑就出来的那就无所谓了 xff0c 但是
  • 机器学习里面的Ground Truth是什么意思

    在看英文文献的时候 xff0c 经常会看到Ground Truth这个词汇 xff0c 翻译的意思是地面实况 xff0c 放到机器学习里面 xff0c 再抽象点可以把它理解为真值 真实的有效值或者是标准的答案 维基百科对Ground Tru
  • python 字符串(str)与列表(list)以及数组(array)之间的转换方法详细整理

    前提 xff1a list以及array是python中经常会用到的数据类型 xff0c 当需要对list以及array进行文件的读写操作的时候 xff0c 由于write函数参数需要的是一个str xff0c 所以这时就需要对list或者
  • RMSE(均方根误差)、MSE(均方误差)、MAE(平均绝对误差)、SD(标准差)

    RMSE xff08 Root Mean Square Error xff09 均方根误差 衡量观测值与真实值之间的偏差 常用来作为机器学习模型预测结果衡量的标准 MSE xff08 Mean Square Error xff09 均方误差
  • LINUX——FIREWALLD防火墙基础(FIREWALLD-CMD命令操作+FIREWALLD-CONFIG图形管理工具)

    LINUX FIREWALLD防火墙基础 xff08 FIREWALLD CMD命令操作 43 FIREWALLD CONFIG图形管理工具 xff09 前言一 FIREWALLD概述1 1 FIREWALLD1 2 FIREWALLD和I
  • 时间序列分析之ADF检验

    ADF检验 在使用很多时间序列模型的时候 xff0c 如 ARMA ARIMA xff0c 都会要求时间序列是平稳的 xff0c 所以一般在研究一段时间序列的时候 xff0c 第一步都需要进行平稳性检验 xff0c 除了用肉眼检测的方法 x
  • pandas之分组groupby()的使用整理与总结

    文章目录 前言准备基本操作可视化操作REF 前言 在使用pandas的时候 xff0c 有些场景需要对数据内部进行分组处理 xff0c 如一组全校学生成绩的数据 xff0c 我们想通过班级进行分组 xff0c 或者再对班级分组后的性别进行分

随机推荐