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

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

1. 定义常变量

2. 远程登录方法

3. 备份上个服务包方法

4. 上传方法

5. 部署方法

6. 服务包判断

7. 发包流程控制

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

最新文章

  1. MUI(4)
  2. http://www.miniui.com/demo/#src=datagrid/celledit.html
  3. 支持多选的Spinner控件
  4. PHP与jquery前后台交互的小程序
  5. [ios][swift]提示框,并自动消失
  6. [Reduc] React Counter Example
  7. [cocos2dx注意事项014]一个用于cocos2dx对象智能指针模板
  8. String.valueOf() 方法的使用
  9. Cmd Markdown 学习
  10. plsql中文乱码问题方案解决
  11. MySql基础入门-mysql体系结构
  12. HBase源码实战:CreateRandomStoreFile
  13. linux 查看是否安装了MySQL
  14. gerapy 实现自动化部署
  15. MYSQL 创建数据库SQL
  16. Python 小程序之 恋爱表情包爬取
  17. 对JVM的简单了解
  18. 使用 TListView 控件(4)
  19. 【转】字符编码笔记:ASCII,Unicode 和 UTF-8
  20. git 修改上次提交信息 与 撤销此操作.

热门文章

  1. leetcode 学习心得 (1) (24~300)
  2. 巧用浏览器F12调试器定位系统前后端bug-转载
  3. Abp vNext抽茧剥丝01 使用using临时更改当前租户
  4. k8s之Configmap与Secret
  5. springboot 2.x整合redis,spring aop实现接口缓存
  6. Kotlin函数使用综述与显式返回类型分析
  7. 微信小程序~项目步骤和流程
  8. P1856 [USACO5.5]矩形周长Picture[扫描线]
  9. MSc in Robotics
  10. LeetCode 1008. Construct Binary Search Tree from Preorder Traversal