Jenkins + Gogs 自动化部署 SpringBoot 项目

介绍:基于 Gogs 代码管理系统下的 Jenkins 自动化部署方案,实现流程是本地开发后提交代码可以直接触发 Jenkins 的构建来完成部署。

前期准备:

安装 Jenkins 需要先安装 JDK、Git、Maven
这里有以上三个软件的安装教程
JDK 安装教程:https://www.jianshu.com/p/70af364701d7
Git 安装教程:https://www.jianshu.com/p/1e340f810aaf
Maven 安装教程:https://www.jianshu.com/p/41703cccac1d
1、下载 Jenkins 安装包
Jenkins 下载地址:https://www.jenkins.io/download/
打开如下图所示

Jenkins 下载页面

下载以后是一个 .war 包
2、安装运行 Jenkins
把下载的 .war 包放在自己需要的位置(本人放在了:/usr/local/jenkins/)文件夹下
使用命令运行(运行方式喜欢的话,可以自己改哦,反正项目运行起来就好了)

# jenkins.war 是自己下的名字
nohup java -jar jenkins.war &

运行之后就可以使用 IP + 端口号进行安装
默认的就是 127.0.0.1:8080 (公网IP自己更换)
3、安装之后使用用户名和密码进行登录,登录成功以后需要进行 JDK、Git、Maven的配置
配置的地方在 系统管理→全局工具配置
Maven 的配置(红色地方为自己服务器的 Maven 安装地址)


Maven 的配置

JDK 的配置(红色地方为自己服务器的 JDK 安装地址)


JDK 的配置

Git 的配置(红色地方为自己服务器的 Git 安装地址)
Git 的配置

配置完成之后点击下方的应用、保存即可。

由于是基于 Gogs 版本控制的,所以需要一个插件

4、安装插件 (Generic Webhook Trigger)
安装的地方在 系统管理→插件管理 然后搜索安装即可。


Generic Webhook Trigger

5、安装插件 (Maven Integration)
和上个步骤一样。此插件是用来构建 maven 项目的。
6、在 Jenkins 新建一个任务。


源码管理

在上面两个地方要添加自己的Gogs的账号,然后 URL 输入自己在 Gogs 上的 Git 地址
构建环境这里我选择了 (Delete workspace before build starts)每次开始构建都删除之前的工作空间
Delete workspace before build starts

Build 这里我输入了命令


Build

构建完成后需要做的就是正确的启动项目了
重启项目
# 将构建后的jar包复制到指定位置一份
cp /root/.jenkins/workspace/test01/target/test01-1.0.jar /www/wwwroot/testJenkins/test01.jar
# 进入指定目录
cd /www/wwwroot/testJenkins/
# 执行脚本命令
sh restart.sh

restart.sh 脚本命令也写出来了

# 重启应用
#!/bin/bash
APP_NAME=test01.jar
echo "Restart application"
echo "Find PID"
pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
    echo "kill -9 ${pid}" 
    kill -9 $pid
fi
BUILD_ID=dontKillMe 
echo "Start up" 
nohup java -jar $APP_NAME >test01.log 2>&1 &
echo "Start success"

此时项目是可以在 jenkins 后台自动构建了,但是我们需要在 Git 提交的时候,让 Jenkins 自动构建部署则需要用到(Generic Webhook Trigger)这个插件了。
7、Gogs 配置
先在 Gogs 管理那里配置相应的内容。
Gogs → 仓库设置 → 管理Web钩子
推送的地址为:

# testJenkins 为自己设置的token,这里要记清楚了,其他的都是固定格式的了。
http://IP:端口号/generic-webhook-trigger/invoke?token=testJenkins

8、Generic Webhook Trigger 插件配置
需要在 Jenkins 的任务配置处修改对应配置



选择 触发远程构建 这里填写的 token 就是在上个步骤里面填写的 token
下方选择 (Generic Webhook Trigger)
配置到这里,应用、保存,即可通过每次的 Git 的 push 进行触发自动更新部署项目。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容