暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

浅谈自动化部署

浙金科技无限 2019-08-09
577


这里所说的自动化部署系统,其实是一种半自动的代码部署,不同于jenkins的持续集成,而是根据公司实际情况,编写的自动升级脚本,结合jobcenter任务平台和ansible批量执行任务而制定的自动化部署方案。

公司项目发布过程如下:

1  开发人员上传war包至svn目录,并发邮件告知运维其svn目录及相应升级主要事项;

2  运维人员从svn地址下载war包至本地;

3  根据升级脚本升级包命名规则,修改war包命名;

4  登录jobcenter客户端,执行创建放置升级包文件夹任务;

5  利用ftp工具上次升级包到指定路径;

6  执行jobcenter平台对应的升级任务,ansible结合升级脚本批量升级。

7  根据脚本返回结果,判断升级是否成功。

升级脚本功能如下:

1  判断升级包路径下是否存在升级包,如果存在继续,如果不存在异常结束。

2  判断$HOME/backup/yyyymmdd目录下是否存在该应用备份文件,如果不存在则创建该目录,并备份原文件,如果存在,在创建$HOME/backup/yyyymmddhh24miss/,备份原文件。

3  应用停进程。

4  删除原文件。

5  复制升级包文件到应用路径下并解压。

6  根据备份的配置文件自动替换到应用对应路径下。

7  判断升级包路径下是否存在配置文件,如果存在则把配置文件追加到应用路径下的配置文件。

8  启动进程。

9  循环60秒根据业务监控url去判断是否启动成功,检测到OK,则启动成功,正常退出。如果60秒内没检测到OK,则启动失败,异常退出。

配置的升级任务如下:

升级的脚本如下:

升级脚本是运用的ansible的批处理工具,先对应用分组,再运用ansible对该组批量执行脚本。

运用该升级流程大大节省了升级时间,有效避免了人工升级过程中的漏升,错升。

 

 

文章转载自浙金科技无限,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论