认识大管家Jenkins(二)部署SpringBoot项目

为热爱编程的你点赞!
学习SpringBoot实战课程 https://edu.csdn.net/course/detail/31433
学习SpringCloud入门课程 https://edu.csdn.net/course/detail/31451


概述

本文将介绍使用Jenkins来部署SpringBoot项目的过程,项目保存在Github中,能通过Jenkins实现提交代码后项目自动拉取代码,自动构建,自动部署。

Jenkins的配置

Jenkins的配置文件在 /etc/sysconfig/jenkins
注意下面的配置并非必须,看个人需求。
修改Jenkins的用户为root,这样会拥有更大的访问权限,方便使用
在这里插入图片描述
修改了端口,默认的8080端口,容易出现冲突
在这里插入图片描述

Jenkins的目录

介绍下Jenkins目录,在构建脚本中用得到
Jenkins的主目录在 /var/lib/jenkins中
主要的几个目录:

  • jobs
    创建的任务目录
  • logs
    存放日志
  • nodes
    部署节点
  • plugins
    插件目录
  • secrets
    密钥目录
  • workspace
    项目构建的工作空间

安装插件

点击Manage Jenkins > Mange Plugins
在这里插入图片描述
在可选插件中搜索插件,安装后重新Jenkins就可以了
在这里插入图片描述
需要安装Git和Maven Integration plugin插件
在这里插入图片描述
在这里插入图片描述

Webhook配置

1) 进入到Github的项目仓库中,在settings中的Webhooks添加Webhook
在这里插入图片描述

2) 配置如下
Payload URL中前面的IP和端口就是Jenkins的地址在这里插入图片描述
3)添加凭据
在Gibhub的个人配置中,点击开发者配置
在这里插入图片描述

添加一个token
在这里插入图片描述
勾选下面的权限
在这里插入图片描述
把生成的秘钥Copy下来,后面需要
在这里插入图片描述

创建部署任务

1) 新建一个Maven项目
在这里插入图片描述
2) 添加项目的描述,可以选择丢弃旧的构建,以节约磁盘空间
在这里插入图片描述
3) 源码管理里添加Git仓库地址
项目部署时,会从git拉取最新的代码
在这里插入图片描述
4) 然后Credentials里面添加凭据,这里是Github的账号、密码
在这里插入图片描述
5)构建触发器,第一个是构建快照版本后触发,第二个是提交代码后由Webhook触发
在这里插入图片描述
6)构建环境里面选择Use secret text,点击Secret Text,添加Secret text凭据
在这里插入图片描述
在这里插入图片描述
把GitHub生成的秘钥填到这里
在这里插入图片描述
7) Pre Steps
添加一行命令,跳过了测试
在这里插入图片描述
8) Post Steps
输入shell脚本
在这里插入图片描述
这个shell脚本就是部署的重点了
注意:本文案例中Jenkins和部署项目都在同一台服务器上。
首先在服务器的/usr/local下创建jenkins/oa目录作为部署项目的目录

#!/bin/bash
# 切换到部署目录
cd /usr/local/jenkins/oa
echo "Stopping SpringBoot Application"
# 查找到之前jar文件运行的pid,干掉之前的进程
pid=`ps -ef | grep oa-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
# 从jenkins的workspace中把刚生成的jar文件覆盖oa目录下原来的jar文件
mv /var/lib/jenkins/workspace/DeployOA/target/oa-0.0.1-SNAPSHOT.jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar
# 重新运行新的jar文件
BUILD_ID=dontKillMe nohup java -jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar &

9) 构建设置中可以配置邮箱,构建后会邮件通知
在这里插入图片描述
最后保存任务,就完成了配置

部署项目测试

在原来项目中添加一段简单的测试代码

@RestController
public class HelloController
{
    @GetMapping("/hello")
    public String hello(){
        return "Hello Jenkins!!";
    }
}

提交代码到Github上
在这里插入图片描述
点到新建的构建任务里面,在左下方的构建历史中,可以看到最新的构建情况,点击控制台输出
在这里插入图片描述
控制台输出可以看到shell脚本执行的情况,以及最后的状态
在这里插入图片描述
运行效果就是最新提交的代码
在这里插入图片描述

结束

以上记录了一次使用Jenkins来自动部署SpringBoot项目的过程,以后有新的收获还会用博文来记录,和大家一起学习。
如果你感觉有用,那就点个赞吧,有问题也可以一起交流。


大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

猜你喜欢

转载自blog.csdn.net/u013343114/article/details/111868141