【项目部署】使用Jenkins一键打包部署SpringBoot应用


前言

嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。

一般而言,一个项目部署的由:拉取代码->构建->测试->打包->部署等过程组成,如果我们经常需要部署项目,特别是在微服务时代,服务特别多的情况下,不停的测试打包部署,那估计得有个人一整天专门做这事了,而这事又是繁琐的重复无意义的,所以就需要一套能够持续集成、持续交付、持续部署的自动化构建流程。

Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。我们可以用Jenkins来构建和部署我们的项目,比如说从我们的代码仓库获取代码,然后将我们的代码打包成可执行的文件,之后通过远程的ssh工具执行脚本来运行我们的项目。


一、准备工作

真正的生产环境上,可能是有多台服务器,但是我是用来练手,手头没有多余的服务器,只有一台。所以我就将 Jenkins 和我的 Spring Boot 项目都部署到一台服务器上。

由于本次是使用Docker安装Jenkins,所以需要服务器上提前安装好JDK,Maven,Doker三个必备的环境配置。这里就不过多赘述这三个环境的安装了,可以自行查询资料安装。

  • 检查 JDK 环境
java -version

在这里插入图片描述

  • 检查 Maven 环境
mvn -v

在这里插入图片描述

  • 检查 Docker 环境
docker version

在这里插入图片描述

二、Jenkins的安装及配置

1. Docker环境下的安装

  • (1)下载Jenkins的Docker镜像:
docker pull jenkins/jenkins:lts

在这里插入图片描述

  • (2)在Docker容器中运行Jenkins:
docker run -p 9080:8080 --name xiliu-jenkins \
-u root \
-v /mydata/jenkins_home:/var/jenkins_home \
-v /usr/local/jdk1.8.0_321:/usr/local/jdk1.8 \
-v /usr/local/apache-maven-3.8.6:/usr/local/apache-maven-3.8.6 \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-d jenkins/jenkins:lts
  • 参数说明
参数说明
-p 9080:8080端口映射(将容器的8080端口【后面的8080】映射到服务器的9080端口【前面的9080】,云服务器需要开通9080端口供外网访问)
–name容器名字
-u root用户名
-v /mydata/jenkins_home:/var/jenkins_home将配置文件夹挂在到主机(:前面的是主机目录,后面的是容器目录)
-v /usr/local/jdk1.8.0_321:/usr/local/jdk1.8是把linux下的jdk和容器内的关联(配置Jenkins时使用,:前面的是主机目录,后面的是容器目录)
-v /usr/local/apache-maven-3.8.6:/usr/local/apache-maven-3.8.6是把linux下的maven和容器内的关联(配置Jenkins时使用,:前面的是主机目录,后面的是容器目录)
-v $(which docker):/usr/bin/docker是可以在Jenkins容器里使用我们Linux下的docker
-v /var/run/docker.sock:/var/run/docker.sock是可以在Jenkins容器里使用我们Linux下的docker
-d jenkins/jenkins:lts后台启动 Jenkins镜像(最新版)

在这里插入图片描述

2. Jenkins的配置

  • (1)运行成功后访问该地址登录Jenkins,第一次登录需要输入管理员密码:http://你的ip:8080/
    在这里插入图片描述

  • (2)使用管理员密码进行登录,可以使用以下命令从容器启动日志中获取管理密码:

docker logs xiliu-jenkins
  • 从日志中获取管理员密码:
    在这里插入图片描述

  • (3)输入管理员密码后,就进入安装界面,选择安装插件方式,这里我们直接安装推荐的插件:
    在这里插入图片描述

  • (4)进入插件安装界面,联网等待插件安装:
    在这里插入图片描述

  • (5)安装完成后,创建管理员账号:
    在这里插入图片描述

  • (6)进行实例配置
    在这里插入图片描述

  • (7)点击保存并完成,Jenkins就安装已完成
    在这里插入图片描述

  • (8)进入Jenkins,点击系统管理->插件管理,进行一些自定义的插件安装:
    在这里插入图片描述
    修改插件的站点,把原站点:https://updates.jenkins.io/update-center.json
    改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,可以更快的下载插件。
    在这里插入图片描述

确保以下插件被正确安装,未安装的在可选插件中搜索安装即可:
(1)根据角色管理权限的插件:Role-based Authorization Strategy
(2)把 Jenkins 打包好的 jar 上传到应用服务器上:Publish Over SSH
在这里插入图片描述
在这里插入图片描述
安装完成后需要重启一下jenkins,在连接后面加restart就可以重启jenkins了,或者使用命令:docker restart 容器名字
在这里插入图片描述

  • (9)配置jdk和maven,通过系统管理->全局工具配置来进行全局工具的配置,路径都是jenkins里面的路径
    在这里插入图片描述
    在这里插入图片描述

  • (9)在系统管理->系统配置中,往下拉找到 Publish Over SSH,配置好要连接的应用服务器(在后面的操作中需要使用jenkins远程ssh连接到应用服务器,进行构建后的应用部署运行。用户名密码会导致 jar 包上传失败,要在应用服务器上生成 ssh 密钥对。不会生成服务器SSH密钥的可以自行查询资料生成一下。)
    在这里插入图片描述
    在这里插入图片描述
    这样Jenkins使用ssh就可以执行远程的linux脚本了:

  • (10)进入系统管理->凭据中,添加Gitee登录账号凭据。接下来配置 Gitee 的凭证,要根据这些凭证,才能从 Gitee 上拉取代码下来:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    所有配置工作都做完了,接下来我们就可以开始构建一个项目了。

三、打包部署SpringBoot应用

因为我的源码是在Gitee上,所以这里以Gitee示例:

2.1 在Jenkins中创建执行任务

  • (1)首先我们需要新建一个任务:
    在这里插入图片描述
  • (2)设置任务名称后选择构建一个自由风格的软件项目:

在这里插入图片描述

2.2 添加git凭据

添加Gitee登录账号凭据。接下来配置 Gitee 的凭证,要根据这些凭证,才能从 Gitee 上拉取代码下来。(如果前面添加了凭证,这里直接选择就行)在这里插入图片描述

在这里插入图片描述

  • (3)填写完成后选择该凭据,就可以正常连接git仓库了;

2.3 添加maven构建

在这里插入图片描述

  • 选择我们的maven版本,然后设置maven命令和指定pom文件位置:
    在这里插入图片描述

2.4 增加构建后操作步骤

因为前面运行jenkins的时候已经做了目录的映射,所以jenkins打完包后其实是会把包同步到服务映射的目录里的。所以这里不需要上传jar包,直接执行xshell命令,进入jar包的目录,执行jar包即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • shell脚本:
#第一步是进入到服务器中生成好的jar包的目录下
cd /mydata/jenkins_home/workspace/xiliu-admin/xiliu-ucenter/target/

#第二步是根据jar包的名字获取运行的pid,并且将该进程杀死
ps -ef | grep xiliu-ucenter-0.0.1-SNAPSHOT.jar   |   grep -v   grep   |   awk '{printf $2}'  |  xargs kill -9

#执行 前加载一下环境变量,否则不会执行java -jar 命令
source /etc/profile

#最后一步就是将这个jar后台启动了,并且将日志输出到warpper.log中。
nohup java -jar xiliu-ucenter-0.0.1-SNAPSHOT.jar >warpper.log &2>1 &

#睡眠1秒
sleep 1

#输出内容,可不加
echo "启动完成"

在这里插入图片描述

2.5 立即构建

配置完成后,点击立即构建,可以看到控制台输出成功。
在这里插入图片描述
在这里插入图片描述

2.6 测试

访问项目地址,能够正常访问。大功告成
在这里插入图片描述


总结

以上就是本文的全部内容了,感谢大家的阅读。

如果觉得文章对你有帮助,还不忘帮忙点赞、收藏、关注、评论哟,您的支持就是我创作最大的动力!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
您好!对于使用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任务配置,并手动触发第一次构建以验证配置是否正确。您可以单击任务页面的"立即构建"按钮来手动触发构建。 这些是基本的步骤和配置,您可以根据您的项目需求进行相应的调整和扩展。希望对您有所帮助!如果您有任何进一步的问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java升级之路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值