虚拟机-持续部署流水线最简工具yunedit-ssh
看过一些虚拟机部署的公司使用jenkins来做持续流水线的部署不过运维人员需要些一些jenkis脚本这些脚本需要学习jenkins的脚本知识。因此jenkins还不是最简单的部署流水线工具因为使用它来管理多台linux服务器还需要深入了解jenkins的一些知识而且还需要在服务端部署jenkins和jenkins依赖的环境比如git客户端等等。yunedit-ssh是一个sftp工具演变而来是一个pc电脑的客户端工具假如你用过winscp那么你一定会使用yunedit-ssh.你可以理解为yunedit-ssh是像winscp上传那样将的上传配置保存到流水线步骤中然后配置本地执行命令、远程执行命令也配置在同一个流水线中。yunedit-ssh的核心概念是步骤一个流水线可以分为多个步骤每个步骤都有一个步骤类型的属性。步骤类型分为四种1上传类型、2本地命令执行类型、3远程命令执行类型、4睡眠类型。如下图所示一个流水线可以添加多个步骤流水线的步骤的顺序可以通过上图的上移、下移功能来调整。yunedit-ssh的安装非常简单它不需要安装软件或者插件到Linux服务端它是一个客户端工具在yunedit-ssh官网下载下来双击即可安装。不需要将jenkins那样学习它的安装教程也不现需要安装各种依赖插件到linux服务器。因为像git客户端等等组件本地pc电脑一般都是有的。下面介绍下这几种流水线类型的步骤1上传类型的步骤可以将多个文件/文件夹上传到同一个linux服务器。而一个流水线可以添加多个上传类型的步骤从而可以一个流水线将文件上传到多个linux服务器。如下图所示这里有个选项是sftp服务器需要选择这个sftp服务就是选择我们的Linux服务器需要上传到哪个linux服务器这些服务器是提前录入好的。上传类型还有选项问你是否要上传隐藏文件这个很贴心很多流水线工具没有这个选项结果上传了一些体积很大的隐藏文件夹到服务端比如git文件等等。2本地命令类型步骤这种类型的步骤是执行本地命令。比如有些git拉取操作比如git clone或者本地编译命令如java项目的mvn package、vue项目的npm run builder等命令需要本地执行做持续集成的可以使用添加本地命令类型的步骤如下图所示这里执行命令的定义页面有个比较贴心的功能是它可以选择执行命令的目录这样我们就可以指定执行命令的目录了。确保执行命令的目录不会错。3远程命令步骤远程命令的步骤跟本地命令相似远程命令多出来的参数是需要选择ssh连接因为远程命令是通过ssh连接来管理的ssh连接是提早创建好的。如下图所示远程命令一般是一些用来重启服务的执行比如sh restart.sh之类的指令4睡眠命令步骤由于有一些命令行操作不是阻塞式的命令需要异步等待因此就有了睡眠命令可以执行一个睡眠的时间让流水线等待。这种步骤类型主要是用来解决写的命令不是阻塞式命令需要等待命令执行完毕才能执行下一个命令的场景。所有的步骤设置好后就可以一键执行定义的所有步骤了了假如命令或上传步骤有错误会在执行日志里显示出来如下图所示yunedit-ssh的流水线也支持断线重传比如上传过程中断网了导致流水线出错下次执行的时候它会提示你续传还是全新运行流水线。在执行记录里还可以看到历史执行的报错。全部的过程都是可视化定义的没有学习的成本。