自动化部署:Jenkins自动部署SpringBoot工程

2024-01-20 12:43:18 浏览数 (1)

前言

在本文中,我们将详细讲解如何使用Jenkins自动部署Spring Boot工程。我们将从安装和配置Jenkins开始,然后创建一个简单的Spring Boot工程,并最终实现自动部署。

一. 创建一个简单的Spring Boot工程

我们将创建一个简单的Spring Boot工程,用于演示自动部署。在本地计算机上,使用Spring Initializr创建一个新的Spring Boot项目。

选择项目类型、打包方式、Java版本等,然后点击“Generate”生成项目。最后,将项目解压缩并导入到IDE中。

二. 配置Jenkins项目

1 创建新项目

在Jenkins中,点击“新建任务”创建一个新的任务。输入任务名称,然后选择“构建一个自由风格的软件项目”。点击“确定”。

2 配置源代码管理

在“源代码管理”部分,选择“Git”。输入你的Spring Boot工程的Git仓库地址,并配置相应的凭据。如果你的仓库是公开的,可以跳过凭据配置。

源码管理配置Gitee代码仓库配置,使用账号密码进行克隆

3 配置构建环境

在“构建环境”部分,勾选“使用节点的默认环境变量”。这将确保Jenkins使用正确的环境变量构建项目,选择刚刚配置的jdk

配置maven,构建打包

4 配置构建步骤

回到任务首页,点击立即构建

构建成功,在Jenkins的HOME目录workspace生成对应jar,说明就已经构建成功。

三. 自动部署

通过Jenkins自动构建打包成功之后,需要的是把工程jar启动,传统的我们需要手动使用命令,先关闭现有项目,然后在使用 java -jar 重新启动jar。其实这些命令可以集成到Jenkins,让Jenkins打包完成之后,调用脚本,自动重新部署启动工程。因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。

在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:

代码语言:shell复制
FROM jdk:8 
VOLUME /tmp 
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar 
EXPOSE 8888 
ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

修改Jenkins构建完成之后的操作,执行shell命令,主要是执行上述dockerfile文件,自动部署

命令如下:

代码语言:shell复制
cd /var/jenkins_home/workspace/zx-order-api 
docker stop zx-order || true 
docker rm zx-order || true 
docker rmi zx-order || true 
docker build -t zx-order . 
docker run -d -p 8888:8888 --name zx-order zx-order:latest

命令注释,进入到Jenkins构建完成的项目路径下,并且执行dockerfile文件

代码语言:shell复制
-t:指定新镜像名 
.:表示Dockfile在当前路径

总结

在本文中,我们详细讲解了如何使用Jenkins自动部署Spring Boot工程。我们从安装和配置Jenkins开始,然后创建了一个简单的Spring Boot工程,并最终实现了自动部署,其原理也是将手动构建打包部署,切换Jenkins自动化。这种自动化部署可以大大提高开发效率,减轻手动部署的负担。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

0 人点赞