传统DevOps VS GitLab技术对比分析_第1页
传统DevOps VS GitLab技术对比分析_第2页
传统DevOps VS GitLab技术对比分析_第3页
传统DevOps VS GitLab技术对比分析_第4页
传统DevOps VS GitLab技术对比分析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 传统 DevOps VS GitLab 技术对比分析 传统DevOps VS GitLab全家桶?大量企业早期的Devops实现主要是集成Jenkins+Sonar+Gitlab+Artifactory等等工具链方案,而各个应用内部的权限管理或者相互对应关系,又催生了定制在工具链之上的Portal。但是新形式下的类似Gitlab全家桶方案与之对比,不仅用户管理简便,内部数据更安全。一方面是大量知识积累和存量用户,一方面是更安全和快捷的实现,如何抉择?但应该坚持要做好CI/CD。问题来自社区会员Joey_1991 保险 云计算高级工程师,下文来自twt社区众多同行实践经验分享,欢迎大家参与交流

2、,各抒己见。* “争议”栏目内容来自同行分享的一手体验和观察,仅代表个人观点顾黄亮 苏宁消费金融有限公司 技术总监:有两点要关注,第一点,工具链的选型,第二点,DevOps最终的价值。关于第一点,工具链的选型,首先要看面向对象,基于jenkins的devops工具链,面向了DevOps价值交付全流程中的能力子域,基于gitlab的DevOps工具链,更直接的面向研发人员,可以这么说,在强调敏捷的DevOps交付项目中,适合使用gitlab,开发、测试、运维采取无边界的方式进行交付工作。再回到工具链本身, gitlab 通过gitlab-runner进行CI/CD,配置很简单,很容易与gitla

3、b集成。当新建一个项目的时候,不需要配置webhook回调地址,也不需要同时在jenkins新建这个项目的编译配置,只需在工程中配置gitlab-ci.yml文件,就可以让这个工程可以进行编译。gitlab-runner没有web页面,但编译的过程直接就在gitlab中可以看到,不需要像jenkins进入web控制台查看编译过程。gitlab-runner仅仅是提供了一个编译的环境而已,全部的编译都通过shell脚本命令进行。当然,jenkins也可以是全部的编译都通过shell脚本命令进行。jenkins的好处就是编译服务和代码仓库分离,而且编译配置文件不需要在工程中配置,如果团队有开发、测

4、试、配置管理员、运维、实施等完整的人员配置,那就采用jenkins,这样职责分明。不仅仅如此,jenkins依靠它丰富的插件,可以配置很多gitlab-ci不存在的功能,比如说看编译状况统计等。如果团队是互联网类型,讲究的是敏捷开发,那么开发=devOps,肯定是采用最便捷的开发方式,推荐gitlab-ci。第二点,devOps最终价值,devOps有锚定价值的作用,提升组织级的能效和质量,随着devOps原生理念的延展,devOps的价值变得更为丰富,无论对IT组织各能力子域,还是IT组织自身,最终到企业都获得相应的收益。wangchang365 兴业数字金融服务(上海)股份有限公司 研发工

5、程师:这个个人认为需要综合来看。Jenkins+Sonar+Gitlab+Artifactory+ Portal 大多是企业一步一步根据自身实际构建起来的,一般在建设的时候 GitLab还并没有形成全家桶的支持。现在来看,已有工具链的企业综合考虑熟练度和用户情况,不建议选择GitLab全家桶。新打造CICD体系的话,可以把 GitLab全家桶纳入支持。Okabe:Gitlab全家桶在Devops包含的功能:现在gitlab确实已经已经涵盖了绝大部分devops的需求了。从前期的测试,到部署后的监控都全部有覆盖到。如果使用gitlab全家桶对于一线研发人员来说会非常的爽。因为gitlab不单单是

6、一个能提供代码管理能力的devops工具。项目管理、代码review、甚至维基文档都可以在上面完成。研发人员和项目经理可以在研发和管理应用时直接看到一个commit是否通过cicd的各个流程,对性能、功能覆盖率是否造成什么影响。将代码的编写-审查-测试-编译-打包-发布的流程都使用同一个平台进行统一管理,这种由统一生态提供的效率提升我认为是会比大量产品堆叠在一起高不少的。不过说白了devops只是研发中的一环,如果公司在这方面已有大量的积累,且这个devops确实能满足需求,那么也没有什么特别的切换的必要。毕竟devops本身不生产价值。如果说维护现有工具链成本大,或者是其中部分依赖项出现了问

7、题(停止维护),那么gitlab确实是一个不错的选择。gitlab本身也是开源程序,特殊需求也可以通过定制解决。ht025:1 、 Jenkins CI / CD 和 GitLab CI / CD 功能对比2 、 Jenkins 与 GitLab CI / CD 之间的区别( 1 )借助 GitLab CI / CD ,你可以完全控制分支和其他几个方面来控制 Git 存储库,以确保代码免受突发威胁。但是,在 Jenkins 情况下,你只能几个控制存储库。它不允许完全控制分支和其他方面。( 2 ) Jenkins 是 “ 内部托管 ” 的,并且是 “ 免费开放源代码 ” ,这就是编码人员偏爱它的

8、原因。另一方面, GitLab CI / CD 是 “ 自托管 ” 和 “ 免费 ” 的,这就是开发人员更喜欢它的原因。( 3 )在 GitLab CI / CD 中,每个项目都有一个跟踪器,该跟踪器将跟踪问题并执行代码审查以提高效率。在使用 Jenkins 工具时;它更改了支持、安装和配置过程。3 、 Jenkins vs GitLab CI / CD 功能差异( 1 ) Jenkins 的优点大型插件库自托管,即完全控制工作区轻松调试运行,从而完成工作区控制易于设置节点易于部署代码很好的凭证管理功能灵活多变支持不同的语言非常直观( 2 ) Jenkins 的缺点复杂的插件集成较小项目的开销

9、,因为您必须自己设置。缺乏对管道的整体跟踪的分析。( 3 ) GitLab CI / CD 的优点更好的 Docker 集成扩展跑步者很简单分阶段并行执行作业直接环形管道机会并发运行程序具有很好的可扩展性合并请求整合容易添加工作易于处理冲突问题良好的安全和隐私策略( 4 ) GitLab CI / CD 的缺点需要为每个作业定义工件并上载 / 下载。在实际合并发生之前不太可能测试分支的合并状态。目前尚不支持阶段中的阶段。4 、 Jenkins vs GitLab CI / CD 选择Jenkins 和 GitLab CI / CD 都有各自的优缺点在两种 CI / CD 工具之间的最终选择完全

10、取决于项目要求和规范。Jenkins 用于持续集成,而 Gitlab CI / CD 用于代码协作和版本控制。Steven99 软件架构设计师:DevOps并不只是一套工具,更多是思想和方法,用DevOps的思想、方法、工具、流程等来协调开发团队和运维团队的关系、提升研发运营效率、促进高效文化的建设和持续改进。所以选择jenkins或者Gitlab来实现DevOps工具链并不冲突。工具选型通常要基于自身技术能力和技术积累,适合别人的不见得适合自己。很多人可能对DevOps存在误解,仅认为DevOps就是CICD。Google SRE是对DevOps思想的一种比较好的实践,你看Google SR

11、E并没有强调选择什么样的工具,而是从运维的视角通过研发来保证系统的稳定和可持续性。从而达到开发和运维的统一。Gitlab全家桶提供了很多工具选择,类似于Spring提供了众多的框架和组件,但这些工具并不是开箱即用的,往往需要额外的工作,特别是开源的组件和工具,在持续不断的变化中。所以至于选择什么样的工具和组件,要基于实际的情况来决定。熟悉的组件用起来会更省时省力,所谓熟能生巧,不熟悉不了解的可能需要花很多时间学习,有学习成本。不同的情况不同的人效果是不一样的。我一直认为,技术没有绝对的好与坏,要根据自己的实际情况来选择。cpc1989 某保险公司 存储工程师 :说一些个人浅见,如何抉择,很多时候不仅仅是技术问题,传统Devops工具链有一定历史包袱,可能受制于开发,测试,运维这样的组织架构和人员职责划分的限制,不同用户又有各自的工具使用偏好,这也会是工具链迁移中比较大的阻力。xiaoping378 光大科技有限公司 系统架构师:我们曾经针对gitlab能力做了一个项目生命周期管理图,基本全部能覆盖。如果敏捷对现有组织架构具有很大冲击,且短时间不可调整,那还是jenkins那套自由组合维护性价比会高些,另外gitlab对于满足正式+外包人员的项目管理,存在缺陷,需要二开。gavin_zhang 某股份制银行 系统架构师:个人觉得两个方案都可以满足企业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论