Jenkins保姆级使用:Jenkins部署springboot项目,手把手实战经历

前言

Jenkins是一个基于Java开发的开源的实现项目可持续集成的工具,解决了平时开发项目之后需要手动打包与发布项目的问题,将这个流程实现自动化;需要了解更多关于Jenkins的内容可以点击 官网

因为项目需要,近期要准备使用jenkins部署springboot单服务项目,详细记录一下其中遇到的问题和使用过程,留下脚印。

第一:前期准备

1.打开官网首页便有下载按钮或者使用下载网址直接下载

如果是Linux安装直接下载第一个.war包即可,如果是Windows版本点击Windows框会直接下载一个.msi的可直接运行的文件,当然.war包在Linux和Windows环境都能运行,但war包有个前提是需要安装jre,直接终端中使用命令java -version查看是否安装jdk,并且jenkins构建还需要安装git环境和maven环境,具体安装过程请自行百度。

  1. 安装jdk
  2. 安装git
  3. 安装maven

注意:最好安装jdk8/jdk11,因为Jenkins的新版本需要jdk8才能支持,如果是jdk8以下的话可能会不兼容;

export JAVA_HOME=/usr/java/jdk1.8.0_341
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin

MAVEN_HOME=/home/zhaosj/maven_home/apache-maven-3.8.1
export PATH=${MAVEN_HOME}/bin:${PATH}

2.安装Jenkins

2.1 war包启动方式: Linux(本过程使用linux方式安装,其它方式请自行百度)

在Jenkins的官方文档中,找到关于war包的文档,里面有说安装Jenkins的最低硬件要求以及war包的启动方式即:java -jar jenkins.war即可启动,需要指定启动端口的话使用 java -jar jenkins.war --httpPort=26000 或者 nohup java -jar jenkins.war --httpPort=26000 & 第二种 nohup 的启动方式为后台启动即关闭该终端Jenkins服务不会关闭。
在这里插入图片描述
在这里插入图片描述
就是说Jenkins的初始密码是850a9ad6638640f8905c748adf1069c7或者在/root/.jenkins\secrets\initialAdminPassword文件中查看

3.访问Jenkins
Jenkins启动后默认使用的8080端口,如果通过 --httpPort 参数指定了端口号,则使用指定的端口号;访问方式:安装jenkins服务的服务器ip:端口号;如:127.0.0.1:8080
如果不能访问的话,关闭终端,重新执行 java -jar jenkins.war 命令出现如下输出即启动成功:
在这里插入图片描述
如果有加载的界面出现等一会儿会来到这个界面,这里需要输入刚刚启动Jenkins的时候初始化的密码,在这里插入图片描述
输入后我们安装推荐的插件即可:
在这里插入图片描述
等待安装完成(时间有点长):
在这里插入图片描述
完成后来到这个界面:
在这里插入图片描述
填写好信息后下一步:
在这里插入图片描述
点击保存并完成,点击开始:
在这里插入图片描述
到此Jenkins安装完毕。

注意:如果是在Linux上使用war包形式启动的Jenkins服务,通过 Linux的 ip:Jenkins端口 无法访问到Jenkins的话,可能是因为Linux的防火墙开启的,如果你是本地虚拟机上安装的centos系统的话,可以直接将防火墙关闭:
关闭命令:systemctl stop firewalld.service
开启命令:systemctl start firewalld.service
查看防火墙状态命令:systemctl status firewalld.service
在这里插入图片描述
在这里插入图片描述
关闭之后就可以访问到Jenkins了。

第二:配置过程

1.安装maven插件 Maven Integration/Maven Integration plugin

这一步是在Jenkins本身不能新建maven项目的任务的情况下才安装maven集成插件,如果你的Jenkins已经支持maven项目的任务的话就不需要进行安装即当你新建任务的时候有maven项目的选项就不需要安装(因为本文介绍的发布spring boot项目的方式采用的是Jenkins的 maven项目 的任务,所以需要安装 maven插件 ,如果采用比如 Pipeline 流水线等任务发布则可以不安装此maven插件):
在这里插入图片描述
没有的话进行安装:
在这里插入图片描述
选择 Install without restart 立即安装
在这里插入图片描述
可勾选如下多选框,进行自动重启Jenkins
在这里插入图片描述
重启Jenkins之后,就可以在已安装的插件里面搜索到刚刚安装的插件,并且创建任务时也有 maven项目 的选项:
在这里插入图片描述

2.全局插件配置

将jdk、git、maven配置好之后在页面的最下方有 保存 按钮
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.新建任务

3.1 新建maven项目的任务

在这里插入图片描述

3.2 配置git仓库

因为Jenkins需要拉取git上的代码,在Jenkins中配置git仓库的SSH地址即可
复制GitHub仓库中项目的SSH地址
在这里插入图片描述
Jenkins中填写SSH地址
在这里插入图片描述
如果填写GitHub仓库的SSH地址之后,出现如下错误:

An internal error occurred during form field validation (HTTP 403). Please reload the page and if the problem persists, ask the administrator for help.

按照提示刷新页面即可,只是刷新页面之前填写的数据会丢失,需要重新填写;一般来说刷新之后再次填写SSH地址之后,不会出现该错误了,但是有可能会出现如下的错误:
在这里插入图片描述
解决方式:
首先引起这个问题的原因可能是以下两个原因:
1.Jenkins中没有安装github插件或者Jenkins的全局插件配置没有配置到本机上的可执行的git文件目录(即git.exe的目录)- - -这两点的配置在前面准备工作中已做
2.未在git仓库中配置git账号的SSH公钥或者未在Jenkins中配置git账号的私钥即Credentials(可以选SSH私钥或者用户名密码模式)
Jenkins中配置Credentials:
在这里插入图片描述
在这里插入图片描述
选择SSH私钥(默认是用户名和密码形式即输入对应的GitHub账号和密码):
在这里插入图片描述
输入Credentials名称和粘贴私钥:
在这里插入图片描述
保存之后可以看到有刚刚添加的Credentials,选择这个Credentials,鼠标移开过会儿错误提示就会消失
在这里插入图片描述
选择对哪个分支进行构建/build
在这里插入图片描述

3.3 maven设置

Pre Steps即在bulid项目之前需要做的操作,比如执行shell脚本,不需要的话就不选择
在这里插入图片描述
设置maven命令即build项目的命令,不设置Jenkins也会执行maven打包,我设置的 clean install -Dmaven.test.skip=true
勾选Add timestamps to the Console Output之后Jenkins会将构建项目的日志输出在Jenkins的控制台
在这里插入图片描述
Maven Version出现如下提示的话需要在全局插件配置中设置本地maven的目录-在前面准备工作中已做在这里插入图片描述
在这里插入图片描述
全局插件配置中设置好maven之后,错误提示消失
在这里插入图片描述
如果在pom.xml下面提示未找到pom.xml的话先不用管,后面执行任务会成功,再来看这里的时候,错误提示会消失。

Post Steps即在bulid项目之后需要做的操作,比如执行shell脚本,不需要的话就不选择
在这里插入图片描述
因为我们发布的是spring boot的项目,我们需要在构建完成后执行启动spring boot项目的脚本命令,选择Run only if build succeeds(仅在构建成功时运行) -> Execute shell(执行shell)
在这里插入图片描述
在输入框里面写入需要执行的脚本命令

mv /root/.jenkins/workspace/Test01/my-test-member/my-test-member-biz/target/my-test-member-biz-0.0.1-SNAPSHOT.jar /usr/project/member/my-test-member-biz-0.0.1-SNAPSHOT.jar
cd /usr/project/member/
BUILD_ID=dontKillMe nohup java -Xms512m -Xmx512m -jar my-test-member-biz-0.0.1-SNAPSHOT.jar &

这里的三条命令:
第一条命令:将Jenkins打包成功后生成的 my-test-member-biz-0.0.1-SNAPSHOT.jar 包,移动到 /usr/project/member/ 目录下,所以需要先创建好 /usr/project/member/ 目录
第二条命令:切换到 /usr/project/member/ 目录下
第三条命令:BUILD_ID=dontKillMe执行启动命令,nohup java -Xms512m -Xmx512m -jar my-test-member-biz-0.0.1-SNAPSHOT.jar &,如果不写BUILD_ID=dontKillMe则不会将后面的java启动命令当作是启动项目的命令执行,可能会遇到项目启动后自动关闭不进行后台运行
注意: 第一条命令 /root/.jenkins/workspace/Test01 是我的项目Jenkins打包之后存放jar包的路径,根据任务的名称不一样这个路径也不一样,/usr/project/member 是我想将启动的jar包统一放在该目录下,所以也根据自己情况来。
如果不清楚Jenkins打包之后的jar包路径,这里可以先不写,直接进行后面打包操作,在控制台中看jar包存放的路径。

3.4 手动执行

在My Views中找到刚刚创建的任务,点击右边的执行按钮,执行任务
在这里插入图片描述
执行成功-如果安装Jenkins的机器上的maven没有build过这个项目,第一次build的话需要下载很多的包,时间会长一些
在这里插入图片描述
点进去该任务->工作空间 可以看到构建之后的项目结构
在这里插入图片描述
Jenkins构建的项目jar包的位置
点击对应的构建记录
在这里插入图片描述
查看控制台输出
在这里插入图片描述

3.5 实现项目的启动、关闭、jar包备份

## 关闭已运行的该服务的进程
filename=my-test-member-biz-0.0.1-SNAPSHOT.jar
PID=$(ps -ef | grep $filename | grep -v grep | awk '{ print $2 }')
if [ ${PID} ]; 
then
 echo 'Application is stpping...'
 echo kill $PID DONE
 kill -9 $PID
else
 echo 'Application is already stopped...'
fi


## 备份jar包
filename=my-test-member-biz-0.0.1-SNAPSHOT.jar
var=$(date +%Y%m%d%H%M)
cp $filename $var$filename
echo "backup jar success!"
## 将项目关闭、启动、备份的脚本合并如下
filename=my-test-member-biz-0.0.1-SNAPSHOT.jar
PID=$(ps -ef | grep $filename | grep -v grep | awk '{ print $2 }')
if [ ${PID} ]; 
then
 echo 'Application is stpping...'
 echo kill $PID DONE
 kill -9 $PID
else
 echo 'Application is already stopped...'
fi

mv /root/.jenkins/workspace/Test01/my-test-member/my-test-member-biz/target/$filename /usr/project/member/$filename
cd /usr/project/member/
BUILD_ID=dontKillMe nohup java -Xms512m -Xmx512m -jar $filename &

var=$(date +%Y%m%d%H%M)
cp $filename $var$filename
echo "backup jar success!"

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!对于使用Jenkins进行Java项目的持续构建和部署,以下是一些基本的步骤和配置: 1. 安装Jenkins:首先,您需要安装Jenkins并确保其成功运行。可以从Jenkins官方网站下载安装程序并按照指示进行安装。 2. 配置Java环境:在Jenkins服务器上,确保已经正确安装和配置了Java开发环境。您可以通过在终端或命令提示符中运行`java -version`来验证Java环境是否正确设置。 3. 创建一个新的Jenkins Job:登录到Jenkins管理界面,点击"New Item"创建一个新的任务。选择"Freestyle project"作为项目类型。 4. 配置源代码管理:在"配置"页面的"源代码管理"部分,选择您的代码托管平台(如Git或SVN),并提供您的项目的代码仓库URL和凭据信息。 5. 配置构建触发器:在"配置"页面的"构建触发器"部分,选择适当的触发器。例如,可以选择定期构建,或者在代码提交时触发构建。 6. 配置构建步骤:在"配置"页面的"构建"部分,添加构建步骤以构建和部署您的Spring Boot项目。以下是一些常见的步骤: - 使用Maven或Gradle构建项目使用Maven或Gradle构建您的项目。您可以在"构建"部分的"添加构建步骤"中选择适当的构建工具,并提供构建命令或任务。 - 打包可执行JAR文件:使用Maven或Gradle将项目打包为可执行的JAR文件。 - 部署项目使用适当的部署工具(例如Docker、Tomcat等)将打包的JAR文件部署到目标环境。 7. 保存并触发构建:保存Jenkins任务配置,并手动触发第一次构建以验证配置是否正确。您可以单击任务页面的"立即构建"按钮来手动触发构建。 这些是基本的步骤和配置,您可以根据您的项目需求进行相应的调整和扩展。希望对您有所帮助!如果您有任何进一步的问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhaoshuangjian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值