git仓库 -> jenkins 部署spring boot项目
本项目使用的是个人gitee仓库,部署服务器在腾讯云。
一、jenkins是什么?
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。(!!!!部署时会消耗大量CPU资源)
二、怎么安装
通过rpm安装
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install -y jenkins
详情看:https://blog.csdn.net/hc_ttxs/article/details/79384535
需要配置JDK MAVEN
三、配置Springboot项目流水线构建
新建一个任务
构建一个MAVEN项目
找到源码管理
添加你的git仓库
在下方选择分支
编写shell 脚本
#!/bin/sh
echo "开始执行shell脚本"
# 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死
export BUILD_ID=dontKillMe
# 指定最后编译好的jar的存放位置
JAR_PATH=/springboot02/target/
# 如果路径不存在,就创建路径
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH
# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=/var/lib/jenkins/workspace/springboot/target/
#/var/lib/jenkins/workspace/springboot/target/
# 如果路径不存在,就创建路径
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH
# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
JENKINS_JAR_NAME=springboot-SNAPSHOT.jar
# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep springboot | grep -v "grep" | awk '{print $2}')
# 如果该项目正在运行,就杀死项目进程
if [[ ! -z "$process_id" ]]
then
echo "停止服务"
kill -9 $process_id
else
echo "服务未启动"
fi
# 进入Jenkins中编译好的jar的位置
cd ${JENKINS_JAR_PATH}
# 将Jenkins中编译好的jar复制到最终存放项目jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH
# 进入到存放项目jar的位置
cd ${JAR_PATH}
# 后台启动项目,并且将控制台日志输出到nohup.out中
nohup java -jar springboot-SNAPSHOT.jar --server.port=8081 -Dfile.encoding=UTF-8 >nohup.out &
echo "shell脚本执行完毕"
最后保存返回主页面,进行构建。
访问你构建的IP:端口
服务正常运行 OK
待实现,检测到Master分支更新后就进行构建
jenkins+gitee 自动化构建流程
上次遗留补完
先贴官方教程:https://gitee.com/help/articles/4193#article-header0
首先
- 安装Gitee Jenkins Plugin
- 添加gitee链接配置
- 在之前的任务配置中配置webhook
- 在git仓库中配置webhook
详细步骤:
插件安装
- 在线安装
- 前往 Manage Jenkins -> Manage Plugins -> Available
- 右侧 Filter 输入: Gitee
- 下方可选列表中勾选 Gitee(如列表中不存在 Gitee,则点击 Check now 更新插件列表)
- 点击 Download now and install after restart
- 手动安装
- 从 release 列表中进入最新发行版,下载对应的 XXX.hpi 文件
- 前往 Manage Jenkins -> Manage Plugins -> Advanced
- Upload Plugin File 中选择刚才下载的 XXX.hpi 点击 Upload
- 后续页面中勾选 Restart Jenkins when installation is complete and no jobs are running
插件配置
添加Gitee链接配置
前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
在
Connection name
中输入Gitee
或者你想要的名字Gitee host URL
中输入Gitee完整 URL地址:https://gitee.com
(Gitee私有化客户输入部署的域名)Credentials
中如还未配置Gitee APIV5 私人令牌,点击
Add
- >
Jenkins
Domain
选择Global credentials
Kind
选择Gitee API Token
Scope
选择你需要的范围Gitee API Token
输入你的Gitee私人令牌,获取地址:https://gitee.com/profile/personal_access_tokensID
,Descripiton
中输入你想要的 ID 和描述即可。
Credentials
选择配置好的 Gitee APIV5 Token点击
Advanced
,可配置是否忽略 SSL 错误(视您的Jenkins环境是否支持),并可设置链接测超时时间(视您的网络环境而定)点击
Test Connection
测试链接是否成功,如失败请检查以上 3,5,6 步骤。
配置成功后如图所示:
新建构建任务
前往 Jenkins -> New Item , name 输入 'Gitee Test',选择 Freestyle project
保存即可创建构建项目。
任务全局配置
任务全局配置中需要选择前一步中的Gitee链接。前往某个任务(如'Gitee Test')的 Configure -> General,Gitee connection 中选择前面所配置的Gitee链接,如图:
最后 ,在你自己的工程中配置触发器即可。
总结:以前觉得很难解决,结果就花了10分钟时间。
本文由博客一文多发平台 OpenWrite 发布!