最近,流行客户端方式的CD流水线,重返虚拟机或者云服务器部署,而不搭建相对复杂的服务端方式的流水线。下面来分析下两种不同架构的流水线的优缺点。
好了,作为服务端方式的流水线的代表jenkins,和客户端流水线对比,有什么优缺点呢?
客户端方式的CD流水线的代表是yunedit-ssh,它是由一个sftp文件上传工具演变而来的,用过sftp文件上传工具的同学们,应该可以预见,客户端方式的流水线跟服务端方式的流水线有什么区别。
首先,客户端方式的流水线,搭建起来比jenkins要简单很多,以yunedit-ssh为代表,yunedit-ssh下载下来就有exe(windows系统)或者dmg(mac OS系统)的直接安装程序,安装完就可以直接使用。而jenkins还需要配置数据库路径、需要配置各种插件和其他配置才能使用。
首先,客户端方式的流水线,以yunedit-ssh为例,使用起来要简单很多,无需安装其他的插件,比如不用在服务端安装maven插件、npm插件、.net插件等等。因为开发环境本地本身就有这些环境,可以利用本地的环境,而不需要为了搭建一个流水线做大量配置。
设置界面是纯可视化的设置方式,如下图:

会用sftp上传工具的同学们,就会使用yunedit-ssh,因为yunedit-ssh的cd部署更简单,yunedit-ssh将CD部署分为三种不同的场景,一种是上传文件、一种是执行本地命令、一种是执行远程命令。都是通过可视化界面设置的,零成本入门。而Jenkins还需要学习Jenkins的架构、Jenkins的脚本语法。
这里以Jenkins,服务端的CD流水线的优点更加明显。
而客户端方式的流水线,更多的是关心执行的是什么命令,而不是用什么插件。
无论客户端方式还是服务端方式都有自己本身的优点,没有谁取代谁的概念。对于本地已经有环境的场景下,使用客户端方式更加简单,对于本地没有环境的场景下,jenkins更加灵活。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。