在软件开发过程中,自动化部署已经成为不可或缺的一环。Jenkins是一个广泛使用的开源自动化部署工具,它提供了强大的功能和灵活的配置选项,可以帮助开发团队实现高效的持续集成和持续部署。本文将详细介绍如何使用Jenkins自动化部署Spring Boot项目,以提高开发团队的效率和产品的交付速度。
首先,你需要在服务器或本地机器上安装Jenkins。你可以从Jenkins官方网站下载适合你操作系统的安装程序,并按照安装向导进行安装。安装完成后,你可以通过浏览器访问Jenkins的Web界面。具体安装步骤可以看这篇文章 如何安装-Jenkins
点击系统管理,点击插件管理
搜索栏输入“Publish Over SSH”
勾选安装完后,重启Jenkins
重启完后,登陆Jenkins,查看SSH插件是否已经安装完成
接下来,开始配置SSH Server。
往下滑,找到SSH Servers,然后点击新增
配置远程服务器的IP地址和账号、密码
Name:取一个自己容易认的名称,如**项目测试机
Hostname:指连接机器的IP或域名
Username:连接机器的用户,必须使用一个有权限的用户,如果觉得root太大,可在服务器另建一个用户,专门用来做jenkins访问使用的
Remote Directory:远程连接上去默认访问的路径,必须存在,并且有权限
勾选下方的权限选项,并设置一个密码password,此密码为登录用户名相对应的密码。
选择使用密码方式链接,输入账号的对应密码
填完后,验证一下配置是否正常,显示“Success”则代表配置没问题。然后点击保存即可。
菜单入口
配置本地的Git安装路径
配置本地的maven安装路径
进入系统管理–系统设置,找到Maven项目配置,把全局MAVEN_OPTS改为如下:
配置本地的JDK安装路径
我们用的阿里云邮,所以用的是阿里的配置
阿里巴巴企业邮箱帮助中心 (mxhichina.com)
配置邮箱通知
设置邮件发送内容
代码内容如下:
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
本邮件由系统自动发出,无需回复!
大家好,以下为 ${PROJECT_NAME } 项目构建信息
构建结果 - ${BUILD_STATUS}
构建信息
- 项目名称 : ${PROJECT_NAME}
- 构建编号 : 第${BUILD_NUMBER}次构建
- 触发原因: ${CAUSE}
- 构建状态: ${BUILD_STATUS}
- 构建日志: ${BUILD_URL}console
- 构建URL: ${BUILD_URL}
- 测试报告: ${PROJECT_URL}${BUILD_NUMBER}/allure/
失败用例
$FAILED_TESTS
最近提交(#${GIT_REVISION})
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="- %d [%a] %m
"}
详细提交: ${PROJECT_URL}changes
注意事项:
输入搜索关键字: Maven Integration Plugin 或者 Pipeline Maven Integration Plugin ,搜索到了以后,点击直接安装
安装完成后重启就好了。
我们是自己部署Git服务器(Bonobo Git Server),并没有用GitHub或者GitLab。
Bonobo Git Server 如果要用webHook的话,需要找到其仓库目录,找到对应项目的文件夹,然后添加post-receive(监听钩子)
文件内容如下,只是一个大概思路,配合Jenkins接口使用的。
#!/bin/bash
echo post-update23
# exec git update-server-info
while read oldrev newrev refname
do
echo post-update4
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
" if [ ""master"" == ""$branch"" ]; then"
" echo ""正在触发远程编译..."""
"# exec ""xx-cmd"" http://{jenkins-user-name}:{jenkins-user-token}@jenkins.yourdomain.com/job/{jobName}/build?token={jobToken}"
curl http://localhost:8081/job/test/build?token=token_test
else
"echo ""非master提交,无需编译"""
fi
done
把maven打包好的Jar包上传到远程服务器
tly-business/tly-server/target/*.jar 这个是Jenkins工作空间的项目路径
/deploy/uploadJar 这是远端服务器的Jar包存放目录(自定义的)
选择 "Send files or execute commands over SSH",发送文件或者执行远程命令
执行Shell脚本,操作网站服务停止、备份旧Jar包、运行新Jar包
最后点击保存即可。然后回到控制面板,点击运行,就会开始自动构建——打包——部署。
执行后,点击任务详情,左下角就有每次构建的记录
到这里,就已经完成了Jenkins的自动化部署项目了。
使用Jenkins自动化部署Spring Boot项目可以大大提高开发团队的效率和产品的交付速度。通过安装Jenkins、配置项目、构建触发器和构建步骤等步骤,你可以实现持续集成和持续部署的流程。Jenkins提供了丰富的插件和灵活的配置选项,可以适应不同的项目需求。通过监控构建过程和及时处理构建失败,你可以快速定位和修复问题。最后,通过自动化部署,你可以快速将应用程序部署到目标环境中,实现快速迭代和交付高质量的软件产品。使用Jenkins的自动化部署流程,你可以节省时间和精力,让开发团队专注于软件开发和质量保证,从而提升整体的开发效率和产品质量。