我们做运维的,日常代码上线是家常便饭,如果不实现自动化,一来工作效率低,二来经常敲那些重复的命令真的让人很抓狂。我这个案例是针对公司的java项目实现的web界面自动化部署。
一、先来几张效果图
1.1web登陆界面
1.2 环境分类
3.应用分类
4.部署的执行输出
二、实现的过程
2.1 实现的功能:web界面实现模拟环境和生产环境代码上线和服务重启
2.2 实现的原理:线上一台发布机,脚本/bin/deploy.sh,它结合ansible,从svn服务器fetch要发布的war包,然后copy到要发布的环境,并采用软链的方式,把应用指向到最新的代码。脚本要求传递2个参数,第1个是用来区分模拟or生产环境,第2个是具体发布哪个应用。发布应用deploy.war,通过tomcat跑起来,它会调用/bin/deploy.sh,并输出脚本执行的过程。
2.3 首先要解决流程化问题:(1)代码打包:开发同事把项目打包成war包 (2)应用程序的路径统一
2.4 发布机server安装配置ansible,并与管理的主机建立ssh密钥验证,详见我博客的ansible篇
2.5 发布机安装配置jdk和tomcat,jdk1.6.0_30 + apache-tomcat-6.0.36用于跑部署应用deploy.war
三、欢迎觉得有参考价值的朋友,点个赞,且有源代码的需要,可留言来索取。