当前位置: 首页 > news >正文

Jenkins部署SpringBoot项目

maven安装

  1. maven的下载和安装
# 下载maven文件
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz# 解压到指定目录
tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/software# 切换到指定目录,创建maven本地存储仓库
cd /usr/local/software/apache-maven-3.8.8
mkdir repository
  1. 配置环境变量,vim /etc/profile在文件末尾加上以下内容。
MAVEN_HOME=/usr/local/software/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:${PATH}
  1. 使用 source /etc/profile指令更新profile文件
  2. 输入mvn -version查看是否安装成功。

image.png

Git安装

cd /home
# 下载git源码安装所需要的工具(不安装工具包,后面编译git会报错)
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker# 下载源码包
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.0.0.tar.gz# 解压缩
tar -zxvf git-2.0.0.tar.gz# 切换到解压好的目录
cd git-2.0.0# 指定安装路径
./configure --prefix=/usr/local/software/# 编译安装
make
sudo make install
# 安装好后在前面配置的安装路径/usr/local/software/下生成一个git文件
# 原来的压缩包和解压后包就可以删除了
cd ..
rm -fr git-2.0.0
rm -fr git-2.0.0.tar.gz# 查看是否安装成功
git --version

相关插件下载

image.png
image.png

Jenkins全局工具配置

image.png

  1. 设置maven的settings.xml

image.png

  1. 设置jdk路径

image.png

  1. 设置git路径

image.png

  1. 指定maven安装位置

image.png

部署MAVEN项目

New Item

image.png

Source Code Mangement

填写仓库地址
image.png
填写git仓库所属账号的username和password,id和description随意填。
image.png

Build Trigger

image.png

Pre Steps

在构建之前执行的步骤。

Build

构建时的配置
Root POM:指定pom.xml文件位置。这里的基本路径是从项目的跟路径开始,
clean package -Dmaven.test.skip=true:清除之前的包,跳过测试并打包
image.png

Post

在构建之后执行的步骤。
查看Jenkins的home目录,home目录下的workspace就是工作目录,存储了打包好的jar包
image.png

关于BUILD_ID:
jenkins默认会在构建完成后,杀掉构建过程中由shell命令触发的衍生进程。
jenkins根据BUILD_ID识别某个进程是否为构建过程的衍生进程,故修改BUILD_ID后,jenkins就无法识别是否为衍生进程,则此进程能在后台保留运行。
结论就是Jenkins程序只负责运行伪命令行nuhup 命令,并不保证是否成功运行 nuhup后面的命令。

BUILD_ID=springboot-test# jenkins中打包好的jar包路径
PACKAGED_JAR_ABSOLUTE_PATH=/var/lib/jenkins/workspace/main-test/springboot-test/target/springboot-test-1.0-SNAPSHOT.jar# 自定义jar包运行时的名称
RUNNING_JAR_NAME=springboot-test-1.0-SNAPSHOT.jar# 自定义jar包存储路径
RUNNING_JAR_STORE_PATH=/home/code/# jar包绝对路径
RUNNING_JAR_ABSOLUTE_PATH=$RUNNING_JAR_STORE_PATH/$RUNNING_JAR_NAMEecho "正在停止服务 $RUNNING_JAR_NAME"
pid=`ps -ef | grep $RUNNING_JAR_NAME | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
thenkill -9 "$pid"echo "服务 $RUNNING_JAR_NAME 已停止"
elseecho "服务 $RUNNING_JAR_NAME 没有在运行"
fiecho "移动打包好的jar包到目录 $RUNNING_JAR_STORE_PATH"
if [ ! -d "$RUNNING_JAR_STORE_PATH" ]
thenmkdir -p $RUNNING_JAR_STORE_PATH
fi
mv "$PACKAGED_JAR_ABSOLUTE_PATH" "$RUNNING_JAR_ABSOLUTE_PATH"
echo "移动jar包完成"echo "正在启动服务 $RUNNING_JAR_NAME"
cd "$RUNNING_JAR_STORE_PATH"
nohup java -jar -Xms256m -Xmx512m "$RUNNING_JAR_NAME" >> test.log 2>&1 &
echo "服务 $RUNNING_JAR_NAME 已启动"

至此配置完成,就可以构建项目了
image.png


http://www.mrgr.cn/news/9957.html

相关文章:

  • CentOS7+Python+Flask+Https服务
  • 3. 如何选择合适的集合实现类(如ArrayList vs LinkedList,HashMap vs TreeMap)?PangHu大约 4 分钟
  • H7-TOOL脱机烧录的UID加密操作方法,支持一键生成目标板C代码,方便大家轻松操作(2024-08-20,已发布)
  • 【计算机网络】名词解释--网络专有名词详解
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存(CustomData)功能(Python)
  • 保障数据传输的准确性:信号完整性技术要点速览
  • Win11搭建Angular开发环境
  • 数据结构-串-模式匹配算法(KMP算法)
  • 从零开始:渗透测试环境安装详细教程
  • DeepKE-LLM框架介绍及简单使用
  • 舌尖上的麻辣风暴 — 食家巷麻辣片
  • 【软件测试面试题】WEB功能测试(持续更新)
  • Spring
  • EasyExcel_通过模板导出(多sheet、列表、图片)
  • 基于大语言模型的医疗问答系统的设计与研究
  • 虚幻5|暴击攻击和释放技能,造成伤害
  • 借题《黑神话悟空》,聊聊UE5 游戏开发中基本的 C++ 概念
  • const constexpr
  • ansible之roles
  • 三岁不说话,是自闭症前兆吗?