Jenkins下载安装、部署SpringBoot项目

1、 Jenkins是什么

Jenkins是一个开源的持续集成工具,基于Java开发,提供了大量的插件来支持构建、测试、部署各种项目。

2、安装Jenkins

首先要保证安装了JDK
在线安装Jenkins

wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
dnf upgrade
dnf install jenkins java-devel

dnf是更新Jenkins,如果命令找不到的话,可以安装下

yum install epel-release
yum install dnf

启动Jenkins服务

systemctl start jenkins

查看Jenkins状态,出现running就代表启动成功

systemctl status jenkins

在这里插入图片描述

3、Jenkins初始化

在浏览器输入:http://你的电脑ip:8080
就可以看到解锁页面,在红字标记的文件位置找到密码,然后复制粘贴到密码框中
在这里插入图片描述

然后自定义Jenkins,新手就选择推荐的插件
在这里插入图片描述

后面就是等Jenkins安装插件,最后就创建自己的管理员用户

在这里插入图片描述

4、简单测试Jenkins

创建一个简单的测试案例,来检验Jenkins的基本功能
1)点击新建Item菜单

在这里插入图片描述

2)输入项目名字,然后选择自由风格的项目

在这里插入图片描述

3)在配置页面中,添加构建步骤,选择执行shell

在这里插入图片描述

输入ifconfig,查看ip地址
在这里插入图片描述

4)点击保存,回到控制面板就可以看到刚才新建的任务,点击名字下的立即构建

在这里插入图片描述

5)在后面可以看到构建结果,点击控制台输出

在这里插入图片描述

出现了ifconfig命令的结果

在这里插入图片描述

5、Jenkins部署SpringBoot项目

5.1 Jenkins的配置

Jenkins的配置文件在 /etc/sysconfig/jenkins
修改Jenkins的用户为root,这样会拥有更大的访问权限,方便使用

在这里插入图片描述

修改了端口,默认的8080端口,容易出现冲突

在这里插入图片描述

5.2 Jenkins的目录

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

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

5.3 安装插件

Jenkins的一大特点是可以整合大量的插件,帮助管理代码、构建项目等。

我们需要安装Maven插件来帮助构建项目,整合Git插件帮助拉取代码、管理分支等。

点击Manage Jenkins > Mange Plugins

在这里插入图片描述

在可选插件中搜索插件,安装后重新Jenkins就可以了

在这里插入图片描述

需要安装Git和Maven Integration plugin插件

在这里插入图片描述

5.4 Webhook配置

我们需要实现项目的自动构建,也就是开发人员提交代码到git仓库后,jenkins自动拉取git上最新的代码,然后利用maven构建项目,最后部署到服务器上。

Webhook是Git服务器的一种通知机制,开发人员提交代码后,会通过Webhook配置的URL,给其它服务发送通知,如:通知Jenkins拉取最新的代码。

在这里插入图片描述

1) 进入到Github的项目仓库中,在settings中的Webhooks添加Webhook

在这里插入图片描述

2) 配置如下

在这里插入图片描述

Payload URL中前面的IP和端口就是Jenkins的地址
3)添加凭据
在Gibhub的个人配置中,点击开发者配置

在这里插入图片描述

添加一个token

在这里插入图片描述

勾选下面的权限

在这里插入图片描述

把生成的秘钥Copy下来,后面需要

在这里插入图片描述

5.5 创建部署任务

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) 构建设置中可以配置邮箱,构建后会邮件通知

最后保存任务,就完成了配置

5.6 部署项目测试

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

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

提交代码到Github上

在这里插入图片描述

点到新建的构建任务里面,在左下方的构建历史中,可以看到最新的构建情况,点击控制台输出

在这里插入图片描述

控制台输出可以看到shell脚本执行的情况,以及最后的状态

在这里插入图片描述

运行效果就是最新提交的代码
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值