gitlab自动化部署方案

gitlab:代码管理流程

 

说明:

 1.本方案依赖Jenkins插件Publish Over SSH , 在http://jenkins.puhuitech.cn上已经存在,无需在进行下载安装和部署.

 2.本方案依赖两个我自己编写的脚本,用来停止当前的服务,删除原有的包,更新Jenkins构建好的包,重启服务

 

配置:

     1. 添加ssh连接信息. 具体位置:系统管理-->系统管理–>Publish Over SSH

     

看到Publish over SSH 后 继续往下会看到所有已经配置的ssh信息 ,在publish over SSH 最后可以添加一个新的ssh连接信息

点击增加会出现新的ssh连接信息,点击高级可以填写username的password.这样做比较简单,配置好以后可以Test Configuration测试配置,点击保存ssh配置完毕

     2.配置构建后的步骤

           1. 进入构建工程后 点击配置 ,进入配置页面的末尾部分,可以找到点击增加构建后操作步骤按钮

           选择 Send build artifacts over SSH

            2.进入ssh配置页面 选择刚才配置好的ssh信息,

           每个基本配置项后面的问号可以点击,查看这个配置项目的具体含义及其用法,这里就不在赘述了.针对于运管平台的自动化部署,这里分成三个Transfer Set

                        ①   执行部署环境中的 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!"

 

posted @ 2016-02-24 11:48  kangye1014  阅读(1823)  评论(0编辑  收藏  举报