历史缘由,有一段时间,项目开发采用一种模式:项目开发及代码版本管理在外网,而主要测试在内网。因此为了同步开发进度,天天会将全部服务在外网jenkins上打包好,而后将服务jar包拷进内网,因为内网服务使用分布式部署,不一样服务分布在不一样服务器上,所以须要手动将各个服务包放到各个服务器上,并执行启动脚本启动,供内网测试。这种工做天天都要重复进行,并且整个服务发布耗时较长,jenkins自动化部署在内网又不可行,所以选择经过执行脚原本自动化发布服务。服务器
下面演示经过脚本演示经过远程登陆服务器 —> 备份要替换的服务包 —> 拷贝服务包到相应服务器的对应目录 —> 发布服务的整个流程。分布式
上面脚本是实现两个服务器上的不一样服务包的自动化部署,更多服务包在list中累加,并增长判断逻辑便可,读者也能够根据此脚本拓展编写批量停服脚本,批量起服脚本,自动回滚某个版本脚本等。测试