ansible 推送 更新 tomcat

2018年7月3日 0 条评论 196 次阅读 1 人点赞

脚本结构:

main_.sh

主控制文件,包含自定义常量,开始菜单。

functions.sh

部分多次调用以及代码略多函数放置于此文件。

update_.sh

升级操作主文件,包含前、后端升级操作。

rollback_.sh

回滚操作主文件,包含前、后端回滚操作。

环境需求:

操作系统:linux

使用软件:ansible

使用场景:基于tomcat使用的java环境,于nginx提供前端web访问。

额外配置:所有机器挂载统一目录 /app/update 用于放置升级包以及生成回滚文件夹

所有待更新包放置于 /app/update ,命名方式参考 /app/update/ems-9.5.5

须严格按照 业务名称-版本号(ems-9.5.5)的形式。

业务名称包含(ips|ems|etms|lib)

结构图

微信图片_20180523161300.png

Nginx服务器

配置文件路径定义于 main_.shnginx_conf_doc=/usr/local/nginx/conf/vhost

配置文件中需要注意的事项

1.      后端Upstream 中指定tomcat的ip和端口,以下是举例

        upstream demooauth {
                server 1.1.1.1:1111;
        }

请严格采用此形式定义,脚本只会读取 upstream 下一行不带 #号 的 server一行内容,并且会在选择更新位置中,出现 upstream 空格后的选项,例如:

微信图片_20180523161327.png 

2.      前端 定义方式如下:

微信图片_20180523161333.png

注:用户中心前端命名为 iportal,脚本已自适应包名称为ips查找为iportal。

Tomcat主机

1.      Java程序需放置于tomcat文件夹中的webapps目录下,命名参考以下规则:

业务

名称

业务a

a

例:/opt/zjpp/tomcat-ips-7185/webapps/ips

2.      需保障应用进程存在,ansible主机上脚本会根据端口号查找进程所在位置,以便确定更新目录。

Ansible主机

1.      确保已添加管理机器到ansible_hosts列表

2.      已添加ssh key管理其他主机

3.      ansible主机 /home/lyops/ly_update/ 执行 main_.sh



解压密码:sevenfal.com

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)