自动化远程部署shell脚本

历史原因,有一段时间,项目开发采用一种模式:项目开发及代码版本管理在外网,而主要测试在内网。所以为了同步开发进度,每天会将所有服务在外网jenkins上打包好,然后将服务jar包拷进内网,由于内网服务使用分布式部署,不同服务分布在不同服务器上,因此需要手动将各个服务包放到各个服务器上,并执行启动脚本启动,供内网测试。这种工作每天都要重复进行,而且整个服务发布耗时较长,jenkins自动化部署在内网又不可行,因此选择通过执行脚本来自动化发布服务。

下面演示通过脚本演示通过远程登录服务器 —> 备份要替换的服务包 —> 拷贝服务包到相应服务器的对应目录 —> 发布服务的整个流程。

1. 定义常变量

2. 远程登录方法

3. 备份上个服务包方法

4. 上传方法

5. 部署方法

6. 服务包判断

7. 发包流程控制

上面脚本是实现两个服务器上的不同服务包的自动化部署,更多服务包在list中累加,并增加判断逻辑即可,读者也可以根据此脚本拓展编写批量停服脚本,批量起服脚本,自动回滚某个版本脚本等。

猜你喜欢

转载自www.cnblogs.com/zjfjava/p/11286256.html