gitlab自动化部署方案
gitlab:代码管理流程
说明:
1.本方案依赖Jenkins插件Publish Over SSH , 在http://jenkins.puhuitech.cn上已经存在,无需在进行下载安装和部署.
2.本方案依赖两个我自己编写的脚本,用来停止当前的服务,删除原有的包,更新Jenkins构建好的包,重启服务
配置:
1. 添加ssh连接信息. 具体位置:系统管理-->系统管理–>Publish Over SSH
2.配置构建后的步骤
1. 进入构建工程后 点击配置 ,进入配置页面的末尾部分,可以找到点击增加构建后操作步骤按钮
2.进入ssh配置页面 选择刚才配置好的ssh信息,
① 执行部署环境中的 stop.sh 关闭现在的连接.
② 上传Jenkins构建出来的war包
③ 执行部署环境中的deploy.sh 删除原来的程序,解压war包,启动tomcat 完成部署 详细配置见下图:
点击保存即可.
3 运行构建:
运行构建后,跟踪日志,查看是否部署成功.
遇到的问题:
在调研过程中,一直包没有传上去,百度了一下,发现 Transfer Set 中的 Source File 的路径写错了,请大家注意,如果这个地方写错了,是不会有异常出现的,但是包传不上去.
Remote prefix 的配置必须要存是Source File的路径的子路径,否则 会ERROR,包也传不上去
写在结尾:
这个方案是基于SSH插件的方案,如果有更好的方案,请大家务必分享出来,共同进步.
deploy.sh
1 #!/bin/sh 2 sudo rm -rf /usr/local/tomcat/webapps/* 3 sudo mv /usr/tmp/phit-web.war /usr/local/tomcat/webapps 4 sudo unzip /usr/local/tomcat/webapps/phit-web.war -d /usr/local/tomcat/webapps/phit-web 5 sudo rm -f phit-web.war 6 cd /usr/local/tomcat/bin 7 sudo sh startup.sh
stop.sh
1 #!/bin/sh 2 kill -9 $(ps -aef | grep tomcat/conf | grep -v grep | awk '{print $2}') 3 echo "phit-web has been stopped!"