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 进行触发自动更新部署项目。

你可能感兴趣的:(Jenkins + Gogs 自动化部署 SpringBoot 项目)