一、Jenkins 自动部署 SpringBoot
Jenkins是流行的CI/DI工具。什么是CI/DI呢?CI/CD 的核心概念可以总结为三点:
- 持续集成
- 持续交付
- 持续部署
简单来说就是将不同代码的分支合并到主分支,并自动进行打包,编译,测试,部署到生产环境的交付流程。
在这里用阿里云主机演示Jenkins自动部署SpringBoot项目。可以到阿里云官网免费试用云主机。创建主机后,点击实例id:

选中实例后,选择安全组配置外网访问规则,在这里放开所有端口:

1、选择安全组列表;2、点击配置规则
配置规则如下:

如果不配置端口的访问规则,则外网不能访问对应的端口。
Jenkins的下载地址是https://www.jenkins.io/download/,登录到云主机后,运行wget https://get.jenkins.io/war-stable/2.387.3/jenkins.war下载war包,下载完后运行java -jar jenkins.war --httpPort=8080启动jenkins,--httpPort指定运行端口。访问ip:8080,看到:

我已经安装了中文插件,第一次访问看到的是英文。根据生成的密码解锁Jenkins,安装推荐插件,之后创建用户,刷新页面,重新登录Jenkins即可。
启动成功之后,接下来安装三个必要的插件:
- Maven Integration:Maven 构建工具
- Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上。
- Gitee:协助使用 Gitee 仓库。
安装位置如下:


按照上面步骤安装三个插件后重启Jenkins。
###安装java并配置JAVA_HOME
yum install -y java-11-openjdk
安装jdk11。安装目录在/usr/lib/jvm。进入安装目录确定jdk11使用的目录。这里是java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64。运行vi /etc/profile配置JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
在运行source /etc/profile使配置生效。运行java -version查看java配置是否生效及java版本。
###安装MAVEN
运行wget https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz获取maven解压后即可。
###jenkins配置jdk和maven

进入全局工具配置:

配置java。

配置git。记得在云主机执行 yum install git安装git。

配置mavem HOME。
###配置主机和gitee

找到 Publish over SSH并配置SSH Servers:

填写主机ip,用户名和密码。这里是公网ip,就不写出来了。

my-test是简单的SpringBoot项目。点击添加 > Jenkins添加gitee的用户名和密码:

###新建任务


选择MAVEN项目并填写项目名。点击确定后,选择gitee 仓库地址,选择gitee登录账户,分支:

添加时间:

输入构建命令:

最后,配置上传构建好的文件,并执行启动命令,如下:

配置详情如下:

用root账号登录云主机后,建立/opt/data文件夹,并添加文件deploy.sh:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
JAR_PATH=/root/data
JARFILE=my-test-0.0.1-SNAPSHOT.jar
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs -r kill -9
java -jar $JAR_PATH/$JARFILE > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
配置java HOME。之后检查jar是否已经启动,启动则关闭。再重新启动jar。可以打开SSH操作日志:

点击应用和保存后,点击立即构建:

查看构建详情:


看到:

就成功了。也可以在这里看到出错日志。
访问http://你的公网ip:端口/路径,就可看到输出了。
####自动构建
现在项目还不是自动构建,提交代码后不会自动构建。



复制上面的url配置到Webhook中。接下来在 Gitee 的项目中,配置 WebHook,在当前项目中,选择管理选项卡,左边菜单点击 WebHooks,然后点击添加 WebHook。

点击测试,看大push_hooks ref = refs/heads/master commit sha = c912ef246f03a842f6d2656018dffcf86c873111 has been accepted.即可。
格式是:http://jenkins用户名:jenkings密码@你的公网ip:jenkins端口/xxxx。
现在提交代码,等几秒,可以看到Jenkins自动构建。
参考:https://blog.csdn.net/u012702547/article/details/126156584

浙公网安备 33010602011771号