gitlab自动化部署方案

gitlab:代码管理流程git

 

说明:web

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

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

 

配置:app

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

     

看到Publish over SSH 后 继续往下会看到全部已经配置的ssh信息 ,在publish over SSH 最后能够添加一个新的ssh链接信息webapp

点击增长会出现新的ssh链接信息,点击高级能够填写username的password.这样作比较简单,配置好之后能够Test Configuration测试配置,点击保存ssh配置完毕gitlab

     2.配置构建后的步骤测试

           1. 进入构建工程后 点击配置 ,进入配置页面的末尾部分,能够找到点击增长构建后操做步骤按钮ui

           选择 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!"
相关文章
相关标签/搜索