前言
在本文中,我们将详细讲解如何使用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腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!