西湖鱼 发表于 2018-1-11 06:14:59

gitlab自动化部署方案

  gitlab:代码管理流程
https://images2015.cnblogs.com/blog/839520/201602/839520-20160224115204458-987127872.jpg
  说明:
  1.本方案依赖Jenkins插件Publish Over SSH , 在http://jenkins.puhuitech.cn上已经存在,无需在进行下载安装和部署.
  2.本方案依赖两个我自己编写的脚本,用来停止当前的服务,删除原有的包,更新Jenkins构建好的包,重启服务
  配置:
  1. 添加ssh连接信息. 具体位置:系统管理-->系统管理–>Publish Over SSH
http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A10%3A52.png?version=1&modificationDate=1454058501000&api=v2
http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A11%3A33.png?version=1&modificationDate=1454058543000&api=v2看到Publish over SSH 后 继续往下会看到所有已经配置的ssh信息 ,在publish over SSH 最后可以添加一个新的ssh连接信息
http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A14%3A30.png?version=1&modificationDate=1454058720000&api=v2点击增加会出现新的ssh连接信息,点击高级可以填写username的password.这样做比较简单,配置好以后可以Test Configuration测试配置,点击保存ssh配置完毕
  2.配置构建后的步骤
  1. 进入构建工程后 点击配置 ,进入配置页面的末尾部分,可以找到点击增加构建后操作步骤按钮
http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A23%3A25.png?version=1&modificationDate=1454059255000&api=v2选择 Send build artifacts over SSH
  2.进入ssh配置页面 选择刚才配置好的ssh信息,
http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A29%3A48.png?version=1&modificationDate=1454059638000&api=v2每个基本配置项后面的问号可以点击,查看这个配置项目的具体含义及其用法,这里就不在赘述了.针对于运管平台的自动化部署,这里分成三个Transfer Set
  ①   执行部署环境中的 stop.sh关闭现在的连接.
  ②   上传Jenkins构建出来的war包
  ③   执行部署环境中的deploy.sh 删除原来的程序,解压war包,启动tomcat 完成部署详细配置见下图:
http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A38%3A2.png?version=1&modificationDate=1454060131000&api=v2http://www.cnblogs.com/download/attachments/12103702/image2016-1-29%2017%3A38%3A19.png?version=1&modificationDate=1454060149000&api=v2
  点击保存即可.
  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!"
  
页: [1]
查看完整版本: gitlab自动化部署方案