当前位置:   article > 正文

jenkins 自动化部署 springboot dubbo 微服务 以及nginx前后端分离静态文件自动部署_jenkins+svn自动化部署前后端分离项目

jenkins+svn自动化部署前后端分离项目

一:准备工作

1.springboot dubbo(zookeeper) nginx前后端分离 linux服务器环境安装 

参考博客:https://blog.csdn.net/ssyujay/article/details/81271830

2.jenkins maven role权限控制 linux服务器安装

参考博客:https://blog.csdn.net/ssyujay/article/details/81277028

二:准备工作

1.进入http://xxx.xxx.xxx.xx:8080/jenkins

2.依次选择,系统管理->系统设置->Publish over SSH 配置目标应用服务器

然后点击 按钮Test Configuration,如果显示Success,表示目标应用服务器配置成功

点击保存。

3.新建视图yui2,点击确定后,再点击保存

4.在视图yui2下,创建一个新的任务,maven任务

1)输入任务名称 yui2-system-provider,且选择 构建一个maven项目

2)进入任务编辑页面

编辑,丢弃旧的构建,为了节省部署服务器存储空间

配置项目svn信息,如果没有svn凭证,先创建用户凭证

指定打包配置文件 clean install -Dmaven.test.skip=true -P stage

ssh到目标应用服务器

  1. **/target/yui2-system-provider.jar
  2. yui-parent/yui-system/yui-system-provider/target
  3. /usr/local/tomcat/yui2/save
  4. JDK_DIR="/usr/java/jdk1.8.0_151"
  5. PRO_DIR="/usr/local/tomcat/yui2"
  6. PRO="yui2-system-provider"
  7. ps -ef|grep $PRO|grep -v grep|awk '{print $2}'|xargs kill -9
  8. rm -rf $PRO_DIR/$PRO*
  9. cp $PRO_DIR/save/$PRO.jar $PRO_DIR/$PRO.jar
  10. BAK_DIR="$PRO_DIR/save/bak/$PRO/`date +%Y%m%d`"
  11. mkdir -p $BAK_DIR
  12. mv $PRO_DIR/save/$PRO.jar $BAK_DIR/"$PRO"_`date +%H%M%S`.jar
  13. chmod 777 $PRO_DIR/$PRO.jar
  14. BUILD_ID=dontKillMe
  15. nohup $JDK_DIR/bin/java -jar  $PRO_DIR/$PRO.jar > temp.txt &
  16. sleep 30
  17. tail -n 100 $PRO_DIR/logs/$PRO.log
  18. processCnt=`ps -ef|grep $PRO|grep -v grep|wc -l`
  19. if [ $processCnt != 1 ]; then
  20. exit 1
  21. fi

其中sleep 30后面的代码的含义是输出远程服务应用启动日志,如果启动失败可以从Jenkins看错误日志,而不需要再进应用服务器看失败日志

如果有需要配置邮件服务,或者定时自动部署,若无其他配置,点击保存

点击构建,第一次部署由于jenkins服务器需要下载相应的jar,会比较慢

5.在视图yui2下,创建一个新的任务,构建一个自由风格项目

  1. rm -rf /usr/local/tomcat/yui2/yui-ui/admin
  2. cp -r /usr/local/tomcat/yui2/save/admin
  3. /usr/local/tomcat/yui2/yui-ui/admin
  4. rm -rf /usr/local/tomcat/yui2/save/admin
  5. /usr/local/nginx/sbin/nginx -s reload

 

6.自动化部署优化

 

由于项目是分布式部署,但是install了所有工程,所以可以选择性的选择需要打包的工程,从而节省时间,jenkins服务器带宽和目标服务器带宽都是限制传输速度的瓶颈,如果在同一个局域网内,传输速度将大大的加快。

使用内网传输,自动化部署需要的时间

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/169631
推荐阅读
相关标签
  

闽ICP备14008679号