Jenkins部署Spring Boot项目
文章目录
想要通过 Jenkins 部署 Spring Boot 项目,部署的机器必须已经安装 JDK、Git、Maven。
Linux安装Git:Linux安装Git详细步骤
Linux配置Java环境:Linux配置Java环境
一、Jenkins介绍
- Jenkins 是一个开源的持续集成工具,是由 JAVA 开发而成。
- Jenkins 主要的功能:提供软件开发的持续集成服务。
- Jenkins 主要的特点:可以把 Jenkins 理解成是一个调度平台,拥有各种各样的插件,通过调度插件来完成自动化的过程。
- Jenkins 基本工作过程:自动的从 Github 或 Gitlab 中拉取代码,然后通过编写 Shell 脚本自动的打包、部署项目。
二、Jenkins安装和部署
1. 下载
Jenkins官网下载所需版本的war包:https://jenkins.io/zh/download/ (推荐下载LTS,即长期支持版本,问题会比较少)
2. 安装
将 Jenkins 上传到 Linux 对应的目录,运行 war 包:
nohup java -jar jenkins.war --httpPort=1234 >> jenkins.log 2>&1 &
- nohup:关闭命令窗口后项目仍可以后台运行。
- httpPort:指定项目运行的端口。
- 日志输出为
jenkins.log
文件。
浏览器输入 http://ip地址:1234
即可成功访问 Jenkins:
按照提示拿到密码创建管理员账号即可。
3. 配置插件加速下载
进入 Jenkins 的插件管理界面:
翻到页面的最下方:
填入如下的地址,使用清华软件镜像加速下载插件,然后点击 Submit:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
4. 插件下载的两种方式
-
已经配置了插件加速,直接在 Jenkins 中搜索下载即可。
-
通过清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/,下载插件后导入到 Jenkins 中:
三、Jenkins汉化(可选)
-
在插件管理页面下载
Locale plugin
插件。 -
进入系统配置页面:
-
如下位置输入 zh_cn,点击保存:
-
重启 Jenkins:
http://ip地址:1234/restart
四、Jenkins安装插件
项目部署需要安装两个必须插件:Git plugin
和 Maven Integration plugin
:
- Git plugin:支持 Git 的插件。
- Maven Integration plugin:构建 Maven 项目所需要的插件,安装后在创建新项目时可以选择构建 Maven 项目。
五、Jenkins全局配置
通过下述步骤进入到全局配置:
输入本机的 JDK、Git、Maven 安装目录,按照下图的方式配置即可:
六、Jenkins新建项目
选择新建 Item,配置如下:
七、Jenkins配置项目
1. 项目描述
2. 配置Git:
获取 Github 账户的 Token:
-
进入 Github 设置:
-
生成 Token:
-
Jenkins 添加凭证(配置项目的源码管理步骤点击添加即可):
3. 配置访问 Github 超时时间:
防止网络不稳定导致暂时无法成功获取 Github 代码:
4. Build阶段配置
5. 配置构建项目后执行的 Shell 脚本
#!/bin/bash
#输入Maven打包后的项目名称
app=xxx-0.0.1-SNAPSHOT
#项目移动的目的地址
path=/usr/xxx
echo this is app : $app
#若项目已启动,杀死旧进程
api_pid=`ps -ef | grep "$app.jar" | grep -v grep | awk '{print $2}'`
echo api_pid = $api_pid
if [ "$api_pid" != "" ]; then
echo kill api
kill -9 $api_pid
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1
fi
#将jar包从jenkins工作空间中移动到指定路径下
mv /root/.jenkins/workspace/项目名/target/$app.jar $path
cd $path
#防止进程被杀死
BUILD_ID=dontKillMe
#后台进程形式启动项目,日志文件为out.log
nohup java -jar $app.jar >> out.log 2>&1 &
echo $app start success
exit 0
注意:可以通过参数化构建,在 shell 脚本中通过 $参数名
得到配置的参数值,从而可以减少将 shell 脚本写死的情况。
6. 点击保存
八、Build Now
配置完成之后点击 Build Now
,开始执行自动化构建过程:
九、查看控制台输出
Build 运行完成之后,Spring Boot项目成功的自动化部署,之后只需要提交代码,然后点击Build Now即可自动部署。