栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker-Jenkins之Gitee Push后自动构建和运行

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker-Jenkins之Gitee Push后自动构建和运行

1、Gitee Push自动构建配置

这一步官方文档讲得很清楚了,大家可自行参考配置。
Gitee Jenkins插件官方文档
这里提一嘴Gitee仓库中的webhook配置

这里的URL来自于Jenkins 项目使用Gitee插件的配置中。

WebHook密码也来自于配置

gitee和jenkins的webhook密码保持一致。

配置完成后点击测试,gitee会向jenkins发送消息,正常情况下jenkins中的项目就开始自动构建了。

2、构建后自动运行

我的项目是一个Springboot项目,所以构建后是一个jar包,位置在jenkins_home/{项目名}/target。
我们需要明确的一点,jenkins的自动拉取和build都是在docker容器内的,而我们的项目是希望运行在服务器环境上的,我们需要将jar包发到外部环境中,然后使用命令运行!
jenkins有一个插件 Publish over SSH可以为我们解决这个问题。
首先在系统设置-系统设置-Publish over SSH-SSH Server中配置服务器信息。

这里password填了,path to key就不需要填。

我们再返回到项目中设置。
选中我们刚设置的SSH,sourcef file是相对于jenkins_home/{项目名}/的那个目录,
同时可以把target前缀去掉。

Remote director在SSH的配置中填了这里就不要再填了,不然效果会叠加。
这里贴出我的发布shell。

#!/bin/sh
JAR_PATH=/root/app/workspace
JAR_NAME=freefancy-1.0.0.jar
PID=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}')
if [ -z "${PID}" ]
then
   echo "============= $JAR_NAME process stopped ===============" 
else
    echo kill $PID
    kill -9 $PID
fi

sleep 5s
cd $JAR_PATH
nohup java -jar ${JAR_NAME}> ${JAR_PATH}/${JAR_NAME}.log 2>&1 &

最后是运行jar包的语句,之后springboot需要加什么命令行参数都可以在这里加。

这样,我们只要push到Gitee仓库后,jenkins就会自动拉取新的代码,build后自动运行!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/532027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号