Jenkins系列四通过脚本方式部署maven项目,maven聚合项目,前端VUE的springboot项目

Jenkins系列一Linux环境安装Jenkins
Jenkins系列二通过Deploy方式部署maven项目,maven聚合项目到Tomcat
Jenkins系列三通过脚本方式部署maven项目,maven聚合项目到Tomcat
Jenkins系列四通过脚本方式部署maven项目,maven聚合项目,前端VUE的springboot项目

环境

  • Linux版本:CentOS7.2
  • JDK版本:1.8
  • Maven版本:3.6.0
  • Jenkins版本:2.270
  • npm版本:6.14.8
  • springboot项目:总目录demo;前端目录demo/ui;后端目录:demo/demo-web
  • jenkins创建的Item:springboot-demo
  • Jenkins的workspace目录:/opt/jenkins-workspace
  • jenkins重启springboot-demo.jar的脚本目录:/opt/bin/jenkins-restart-springboot-demo.sh

Jenkins

安装额外插件

登陆到Jenkins后,菜单依次【Manager Jenkins】【Manager Plugins】【可选插件】输入下面的插件下载并安装,重启。(根据自己所需功能选择插件)

  • Subversion(SVN)
  • Maven Integration(maven)

配置环境

登陆到Jenkins后,菜单依次【Manager Jenkins】【Global tool Configuration】配置如下环境

  • 【Maven配置】的【默认 settings 提供】【默认全局 settings 提供】,配置maven的setting.xml文件
  • 【JDK】的【别名】【JAVA_HOME】
  • 【Maven】的【Name】【MAVEN_HOME】

配置Item

  • 新建Item

  • 输入任务名称,选择【构建一个maven项目】,确定

  • 【General】根据需要填写
    在这里插入图片描述

  • 【源码管理】根据实际选择Git、Subversion。添加凭证并选择。如果是聚合项目,这里选择父项目地址
    在这里插入图片描述

  • 【构建触发器】【构建环境】
    在这里插入图片描述

  • 【Pre Steps】无

  • 【Build】清除缓存,重新打包,并忽略测试类clean package -Dmaven.test.skip=true
    在这里插入图片描述

  • 【Post Steps】

sh /opt/bin/jenkins-restart-springboot-demo.sh #{JOB_NAME}

jenkins-restart-springboot-demo.sh

#!/bin/bash
export BUILD_ID=dontKillMe
echo "restart..."
ALIAS=$1
if [ -n "$ALIAS" ]
then
	echo "ALIAS:" $ALIAS
else
	ALIAS=springboot-demo
	echo "use default ALIAS:" $ALIAS
fi
JAR_NAME=demo.jar
echo "JAR_NAME:" $JAR_NAME
pid=`ps -ef | grep java | grep $JAR_NAME | awk '{print $2}'`
if [ -n "$pid" ]
then
	kill -9 $pid
	echo "kill pid" $pid
else
	echo "pid is null"
fi
rm -rf /opt/jar/$JAR_NAME
echo "delete old codes finish..."
cp /opt/jenkins-workspace/workspace/${ALIAS}/demo-web/target/$JAR_NAME /opt/jar
echo "update codes finish..."
sleep 2s
nohup java -jar /opt/jar$JAR_NAME &

编译vue代码,这里使用了vue本身的打包功能,所以只需执行命令。如果需要脚本打包,把编译后的文件复制到指定目录即可

cd /opt/jenkins-workspace/workspace/springboot-demo/demo-ui
cnpm i
npm run deploy

在这里插入图片描述

  • 【构建设置】 无

构建项目

选择列表最后的菜单构建项目,构建状态在左下角,可以点击【控制台输出】查看日志在这里插入图片描述

总结

关于目录一定要弄清楚这几个概念,不然配置路径时候很容易弄混

  • Jenkins工作空间workspace:在/etc/profile中配置
  • Jenkins中的项目名,也叫jobName:Jenkins中创建项目时候的名称
  • 代码库的项目名:svn/git上的项目名称
  • 如果是聚合项目还有子模块
  • Jenkins从代码库下载的目录: 工 作 空 间 / {工作空间}/ /{jobName}/ 项 目 名 称 / {项目名称}/ /{子模块};在配置上面的pmo.xml、xxx.war
    包等路径时根据实际情况参考配置
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值