Jenkins部署Spring Boot项目详细过程

Jenkins部署Spring Boot项目


想要通过 Jenkins 部署 Spring Boot 项目,部署的机器必须已经安装 JDK、Git、Maven。

Linux安装Git:Linux安装Git详细步骤
Linux配置Java环境:Linux配置Java环境

一、Jenkins介绍

  1. Jenkins 是一个开源的持续集成工具,是由 JAVA 开发而成。
  2. Jenkins 主要的功能:提供软件开发的持续集成服务。
  3. Jenkins 主要的特点:可以把 Jenkins 理解成是一个调度平台,拥有各种各样的插件,通过调度插件来完成自动化的过程。
  4. 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:

image-20220320122706512

按照提示拿到密码创建管理员账号即可。

3. 配置插件加速下载

进入 Jenkins 的插件管理界面:

image-20220320122552461

翻到页面的最下方:

image-20220320122832122

填入如下的地址,使用清华软件镜像加速下载插件,然后点击 Submit:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

4. 插件下载的两种方式

  1. 已经配置了插件加速,直接在 Jenkins 中搜索下载即可。

  2. 通过清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/,下载插件后导入到 Jenkins 中:

    image-20220320123331885

三、Jenkins汉化(可选)

  1. 在插件管理页面下载 Locale plugin 插件。

  2. 进入系统配置页面:

    image-20220320124731127
  3. 如下位置输入 zh_cn,点击保存:

    image-20220320124903922
  4. 重启 Jenkins:http://ip地址:1234/restart

四、Jenkins安装插件

项目部署需要安装两个必须插件:Git pluginMaven Integration plugin

  • Git plugin:支持 Git 的插件。
  • Maven Integration plugin:构建 Maven 项目所需要的插件,安装后在创建新项目时可以选择构建 Maven 项目。

五、Jenkins全局配置

通过下述步骤进入到全局配置:

image-20220320124249049

输入本机的 JDK、Git、Maven 安装目录,按照下图的方式配置即可:

image-20220320125447937

六、Jenkins新建项目

选择新建 Item,配置如下:

image-20220320125756456

七、Jenkins配置项目

1. 项目描述

image-20220320130023125

2. 配置Git:

image-20220320130248011

获取 Github 账户的 Token:

  1. 进入 Github 设置:

    image-20220320130425220
  2. 生成 Token:

    image-20220320130554573
  3. Jenkins 添加凭证(配置项目的源码管理步骤点击添加即可):

    image-20220320130725345

3. 配置访问 Github 超时时间:

防止网络不稳定导致暂时无法成功获取 Github 代码:

image-20220320131224322

4. Build阶段配置

image-20220320131420422

5. 配置构建项目后执行的 Shell 脚本

image-20220320131555150
#!/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,开始执行自动化构建过程:

image-20220320132333924

九、查看控制台输出

image-20220320132611702

Build 运行完成之后,Spring Boot项目成功的自动化部署,之后只需要提交代码,然后点击Build Now即可自动部署。

猜你喜欢

转载自blog.csdn.net/weixin_49343190/article/details/123611576