1,服务器安装jdk,Jenkins,mysql(非必须),maven。
2,Jenkins初始化设置
1)进入系统管理->插件管理
在这里插入图片描述
搜索安装需要插件,包括:Gitlab Hook Plugin ,GitLab Plugin,Maven Integration plugin,NodeJS Plugin,nvm-wrapper,Publish Over SSH,等。点击勾选,安装。
2)进入系统管理->全局工具配置,首先配置git的位置,
在这里插入图片描述
不知道 输入linux命令 whereis git
在这里插入图片描述
maven和git同样的方式安装
在这里插入图片描述
nodejs ,点击 新增nodejs,取别名,随便取名,选择版本,建议不要选最新版本
在这里插入图片描述
最后点击 保存。全局工具配置完成。
2,git获取密匙及hook设置
首先我们需要获取一个git的密匙,使得Jenkins能够随意的拉取指定分支的代码,进入git 创建一个新的密匙,按照图中描述步骤进行
在这里插入图片描述
在这里插入图片描述
选完后页面拉到最后点击 generate token
在这里插入图片描述
复制这段token 进入Jenkins 找到下图
在这里插入图片描述
进行新增凭证
在这里插入图片描述
进入系统配置,给GitHub service 配置刚刚新增的这个凭证。
在这里插入图片描述
在这里插入图片描述

3,现在jenkins可以在git上拉取密码,但是无法进行部署的动作。接下来我们进行配置,让Jenkins能够拉取代码后自动部署。那我们建一个项目
选择新建一个maven项目
在这里插入图片描述
添加git的克隆地址(http)
在这里插入图片描述
这里选好分支。后面自动部署时就是在这条分支,选择自己需要的那一条即可。
在这里插入图片描述
选择Hook,这里选错则不会自动部署
在这里插入图片描述

post step 选择 excuter shell。
在这里插入图片描述
配置好这些之后需要编写shell脚本。
如下

#!/bin/bash
cd /usr/local/jenkins
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
BUILD_ID=dontKillMe nohup java -jar /usr/local/demo-0.0.1-SNAPSHOT.jar &

这段脚本执行的时候,Jenkins已经完成了拉取代码,maven编译及打包的动作(在jenkins的工作空间)。我们只需要关注的后面进行将在Jenkins工作空间的jar包的复制转移以及启动。
这里需要另外编写stop.sh(停止正在运行的服务)replace.sh(替换jar包重新启动)
首先编写stop脚本

 vim /usr/local/jenkins/stop.sh
# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi

#此处personal-0.0.1-SNAPSHOT.jar根据自己的jar包名称修改

然后时repalce脚本

 vim /usr/local/jenkins/replace.sh
jar_name=demo-0.0.1-SNAPSHOT.jar
#!编译好的jar包存放地址

file_path=/root/.jenkins/workspace/test/target/demo-0.0.1-SNAPSHOT.jar


#!将现有的jar备份后,将新的jar包替换

file="/usr/local/demo-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
mv /usr/local/demo-0.0.1-SNAPSHOT.jar /usr/local/demo-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp /root/.jenkins/workspace/test/target/demo-0.0.1-SNAPSHOT.jar /usr/local

点击立即构建,找到构建历史,找到正在构建的项目,点击小箭头选择“控制台“输出”,就可以看到正在构建的项目打印的日志。
在这里插入图片描述
如果是下图代表着代码提交git后可以自动拉取且在服务器部署
在这里插入图片描述
4,接下来进行提交代码自动触发服务部署的配置。
在这里插入图片描述
进入如下页面
在这里插入图片描述
进入Jenkins,
指定Hook Url,这里和之前的Payload URL 保持一致
在这里插入图片描述
点击保存之后,全部就配置完成。提交一个代码测试一下。
在这里插入图片描述
在这里插入图片描述
开始构建

在这里插入图片描述
访问接口,测试成功
参考

https://www.cnblogs.com/zsh-blogs/p/10508656.html
jenkins spring-boot

有问题请留言。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐