20、Jenkins基础使用教程

1、准备工作

(1)检查服务器环境

jdkgitmaven 这三个要全部安装上。并且,版本与开发环境保持统一
jdk安装:17、Linux下安装jdk(CentOS7)
git安装:19、Linux安装Git(CentOS7,在线/离线)

2、配置jdk,git,maven

点击: Manage Jenkins
在这里插入图片描述
点击: Global Tool Configuration
在这里插入图片描述
配置jdk
在这里插入图片描述
配置git
在这里插入图片描述
配置maven
在这里插入图片描述
点击 应用保存
在这里插入图片描述

3、下载相应插件

(1)公共部分

点击: Manage Jenkins
在这里插入图片描述
点击: Manage Plugins
在这里插入图片描述

(2)下载Maven插件

新建任务的时候,需要构建 Maven 项目。此时这里没有能构建 maven 项目的插件,所以需要下载 Maven 插件
在这里插入图片描述
在这里插入图片描述
点击: Available plugins
搜索: maven
下载: Maven Integration
前面打 ,点击下面的 Install without restart ,安装不重启。即可出现安装界面。
在这里插入图片描述
等待安装…
在这里插入图片描述

安装完后,点击 新建Item ,就会出现 构建Maven项目
在这里插入图片描述
在这里插入图片描述

(3)下载publish over ssh插件

Publish Over SSH: 插件是通过 SSH 连接其他 Linux 机器,远程传输文件及执行 Shell 命令。后期用于 jenkins 打完包后,将代码包放在 server 服务器上并且启动。
在这里插入图片描述
等待安装…
在这里插入图片描述

4、新建任务

在这里插入图片描述

(1)General

根据实际情况填写
在这里插入图片描述

(2)源码管理

a)选择 Git
b)Repository URL 填写项目 git 下载地址
在这里插入图片描述

会发现出现如图错误。该错误出现的原因是没有添加 凭据 ,简单来说就是需要在 Jenkins 里面添加个可以拉取 gitlab 上代码的账户。
在这里插入图片描述
在这里插入图片描述
其他的可以不用填写,然后点击 添加 即可。
Credentials 选择刚才添加的账户即可。报错会消失。
在这里插入图片描述
分支的选择,视实际情况而定。
在这里插入图片描述

(3)构建触发器

默认即可
在这里插入图片描述

(4)构建环境

暂时不选
在这里插入图片描述

(5)Pre Steps

构建前配置。通常用来检查原来是否启动的 jar 包。如果有启动,则备份原 jar 包,并且停掉。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
springboot: 脚本参数,服务名称
脚本存放的路径,根据实际情况自行选择。

sh /root/jar/target/stopServer.sh  springboot >/root/jar/target/log/stoplog.log 2>&1

点击 应用保存 即可。
stopServer.sh 脚本
脚本内容根据实际情况可修改

############################################################
# 系统名称:系统名称1
# 脚本名称:stopServer.sh
# 脚本作用:停止server应用
# 脚本参数:serverName:应用名称
#		    serverPath:应用路径(jar保存放的路径)
#           pid:应用进程id
############################################################

#!/bin/bash

# 时间戳
timestamp=`date +%Y%m%d%H%M%S`
echo "时间戳:$timestamp"

# 参数获取
serverName=$1
# 定义:应用路径(jar保存放的路径)根据实际情况修改此处修改
serverPath=/root/jar/target

# 参数空值判断
if [ -z $serverName ];
	then
        echo "错误:[serverName] is null! please check it..."
		exit -1 # 状态码不为0(成功)时,Jenkins构建时,会报不稳定。可以忽略。
fi

# 历史数据处理(备份)
if [ ! -e "$serverPath/backup/" ];
	then
		mkdir $serverPath/backup
        echo "提示:[$serverPath/backup] Folder created successfully..."
fi
# serverName文件个数
serverSum=`ls -l $serverPath|grep "$serverName"|wc -l`
if [ $serverSum -gt 0 ];
	then
		mv $serverPath/$serverName*.jar $serverPath/backup/
		echo "提示:[$serverName] The historical data is backed up successfully..."
fi

# 获取正在运行的serverName应用jar包pid
pid=`ps -ef | grep $serverName | grep 'java -jar' | awk '{printf $2}'`

# serverName应用进程pid空值判断,为空则一直处于停止状态,不为空则停止。
if [ -z "$pid" ]; # 加上“”,不然为null时回报‘参数太多’的错误
	then
		echo "提示:[$serverName] The application is currently stopped..."
		exit 0
	else
	    echo "提示:[$serverName]:进程id为 $pid"
		kill -9 $pid
		echo "提示:[$serverName] The application stopped successfully..."
fi

# serverName应用进程pid停止后,检查是否停止成功。(-w:精确匹配)
check=`ps -ef | grep -w $pid | grep java`
if [ -z "$check" ]; # 加上“”,不然为null时回报‘参数太多’的错误
	then
		echo "提示:[$serverName进程id:$pid] The application process is stopped successfully...."
		exit 0
	else
		echo "提示:[$serverName进程id:$pid] The application process is failed ..."
fi

(6)Build

在这里插入图片描述

(7)Post Steps

在这里插入图片描述
注意:
SSH Server 里面是空的,所以我们先提前配置个目标服务器。
在这里插入图片描述
点击: Manage Jenkins --> Configure System
在这里插入图片描述
找到: Publish over SSH --> SSH Servers
点击: 新增
在这里插入图片描述
在这里插入图片描述
其他不用修改,移动的最下方,测试是否连接成功。连接成功后,点击 应用保存 即可。
在这里插入图片描述
此时此刻,回到 Post Steps 出,SSH Server ,不再是空。
在这里插入图片描述

在这里插入图片描述
springboot: 脚本参数,服务名称
脚本存放的路径,根据实际情况自行选择。

sh /root/jar/target/startServer.sh springboot >/root/jar/target/log/startlog.log 2>&1

点击 应用保存 即可。
stopServer.sh 脚本
脚本内容根据实际情况可修改

############################################################
# 系统名称:系统名称1
# 脚本名称:startServer.sh
# 脚本作用:启动server应用
# 脚本参数:serverName:应用名称
#		    serverPath:应用路径(jar保存放的路径)
#           jdkPath:jdk安装路径
#           pid:应用进程id
############################################################

#!/bin/bash

# 时间戳
timestamp=`date +%Y%m%d%H%M%S`
echo "时间戳:$timestamp"

# 参数获取
serverName=$1
# jdk安装路径(根据实际情况修改此处修改)
jdkPath=/opt/jdk/jdk-17.0.6/bin
# 定义:应用路径(jar保存放的路径,根据实际情况修改此处修改)
serverPath=/root/jar/target

# 启动server应用
nohup $jdkPath/java -jar $serverPath/$serverName*.jar >$serverPath/log/$serverName-startlog.log 2>&1 &

# 获取正在运行的serverName应用jar包pid
pid=`ps -ef | grep $serverName | grep 'java -jar' | awk '{printf $2}'`

# serverName应用进程pid空值判断,为空则启动失败,不为空则启动成功。
if [ -z "$pid" ];
	then
		echo "提示:[$serverName] The application failed to start..."
		exit -1
	else
	    echo "提示:[$serverName]:进程id为 $pid"
		echo "提示:[$serverName] The application starts successfully..."
fi

点击 应用保存
在这里插入图片描述

4、构建项目

此时会自动跳转的该页面
在这里插入图片描述
回到主页面,点击 开始构建
在这里插入图片描述
点击左下角的 项目名称 ,即可进入如下界面。进入 控制台输出 ,可以查看构建日志。
在这里插入图片描述
此时显示构建成功,此时这个路径下会生成我们构建的项目jar包。
在这里插入图片描述
检查一下,该路径下是否生成该jar包,检查生成了。
在这里插入图片描述
同时,目标服务器的jar包也传输过来了。
在这里插入图片描述
检查是否启动成功:
显示 springboot-0.0.1-SNAPSHOT.jar 包的进程信息
在这里插入图片描述
页面访问
在这里插入图片描述
到此Jenkins配置完成。如上步骤只是基础使用教程。足够平时开发使用。
此刻,即可实现 idea 提交代码到 gitlab 上, Jenkins 拉去 gitlab 最新代码,部署到应用服务器上并启动的操作。

猜你喜欢

转载自blog.csdn.net/weixin_61470350/article/details/129495648
今日推荐