欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

什么样的持续交付工具和平台最适合你的组织? 活动 

程序员文章站 2022-05-30 18:37:23
...
持续交付和DevOps的方法论及实践已经存在很很多年,其主要要解决的问题就是,如何快速,安全的完成从开发到发布、运维,及后续的线上监控等一系列活动。
持续交付和DevOps包含了很多内容,比如分层自动化测试、流水线卡点,infrastructure as code,线上机器auto healing、auto scale等等。但最重要的是,这些活动要有一个靠谱的工具平台来承载。
好在市面上可选的工具平台也是非常的多种多样。屈指一算,大概有这么几类:
轻量级CI SaaS
以travis-ci为代表的轻量级CI,成为了开源项目的标配。能够提供丰富多样的构建环境和灵活的构建策略(比如并行构建等)。非常适合运行测试,但是在后续的部署、运维领域略显乏力。
单机版CD工具
以Jenkins为代表。Jenkins是一个以Job为核心概念,用各种插件不断丰富和武装自己的工具。在近几年先后推出了Jenkins 2.0(pipeline as first class citizen),Jenkins X(cloud native as first class citizen)。
Jenkins本质上是一个灵活的流程引擎,没有任何业务概念。因此对于很多场景化的需求需要进行上层的封装,可以是自己去配置一个个Job和Pipeline,也可以通过API批量调用。Jenkins的扩展能力很强,但对于企业的场景来说,还是会有一些限制。
云原生工具
平台本身和云平台有着很好结合。如前面提到的利用云平台的auto scaling的能力。事实上能够利用的能力还有很多,包括机器创建销毁,操作负载均衡,开启日志服务及监控等等。
目前比较有代表性的单机工具是Netflix的spinnaker。由于是国外的产品,他对AWS和Google Cloud等支持的比较好,但阿里云的支持还是有限。
企业级平台
为企业的场景而生。一般内置项目、应用、流水线等模型,很好的匹配到企业的组织结构。同时提供企业研发所必须的一些配套基础设施,比如maven私服,npm私服等等。一般来讲,企业级平台是场景化的。比如阿里云的一站式研发协同平台,云效,对主流语言(Java,Node,Php)的构建和主流平台(Linux)的部署都支持的很好。用户基本上简单的点点选选,一个从构建到发布的流程就能跑起来了。
这种平台可能的一个缺点就是,相比Jenkins这类产品,通用能力和灵活性不足。很多活动都需要在一些模型的概念下进行。
那么来聊聊吧
你的组织规模如何,你在组织内的角色是什么
正在使用什么样的持续交付工具链,又遇到什么问题
是否使用了云平台,你的工具链和云平台的集成度如何?
是否使用了Kubernetes等集群管理,你的工具链和Kubernetes的集成度如何?
你心中理想的持续交付工具链是什么样子的
相关标签: 活动