Jenkins构建SpringBoot项目

  • Git服务器:Gitee
  • Jenkins服务器:CentOS7.6
  • Web服务器:CentOS8.1
  • 项目结构,父子工程
├── qd-cloud-base
│   └── qd-registry
│       ├── src
│       └── target
│           └── qd-registry-1.0-SNAPSHOT.jar

流程

  1. 下载源码,从Gitee下载代码到Jenkins服务器 /var/lib/jenkins/workspace
  2. 打包,使用Maven将源码打成jar包/var/lib/jenkins/workspace/qd-registry/qd-cloud-base/qd-registry/target/qd-registry-1.0-SNAPSHOT.jar
    • Jenkins任务根目录 /var/lib/jenkins/workspace/qd-registry/
  3. 上传,上传jar包至Web服务器
  4. 启动,执行启动脚本,启动Web服务

构建


  • 下载源码


  • 打包


  • 上传并启动服务
    • 打包成功才上传




Source files 当前任务目录下/var/lib/jenkins/workspace/qd-registry/
Remove prefix 配置此项,则不会在远程服务器创建相应文件夹

mv qd-registry-*.jar qd-registry.jar

# 查找当前服务的pid
pid_info=$(ss -lnp | grep 10000 | awk '{print $7}' | awk -F, '{print $2}')
if [ "$pid_info" ];then
    pid=${pid_info#pid=}
    echo 停止服务$pid
    kill $pid
fi

echo 开始启动服务
# 后台运行,将日志输出到server.log
nohup java -jar qd-registry.jar >server.log 2>&1 &
echo 启动完成

问题

  • 构建项目权限不足


修改为root用户 JENKINS_USER="root"

  • jenkins执行nohup java -jar qd-registry.jar &一直loading

将控制台日志重定向到文件
nohup java -jar qd-registry.jar >server.log 2>&1 &

你可能感兴趣的:(Jenkins构建SpringBoot项目)