CentOs8 Linux安装Jenkins、部署并运行springboot项目(2)

简介: CentOs8 Linux安装Jenkins、部署并运行springboot项目(2)

2.5 配置全局变量

系统管理 > 全局工具配置

Maven配置:

01ebd755782e4c909dad0843d3544acf.jpeg

JDK:

01ebd755782e4c909dad0843d3544acf.jpeg

Git:

01ebd755782e4c909dad0843d3544acf.jpeg

Maven:

01ebd755782e4c909dad0843d3544acf.jpeg

应用 》保存

2.6 部署项目

首页点击新建:输入项目名称

01ebd755782e4c909dad0843d3544acf.jpeg

下方选择构建一个 Maven 项目,点击确定。

勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个

01ebd755782e4c909dad0843d3544acf.jpeg

源码管理 :

01ebd755782e4c909dad0843d3544acf.jpeg

构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来

01ebd755782e4c909dad0843d3544acf.jpeg

在 Build 中输入打包前的 mvn 命令,如:

clean install -Dmaven.test.skip=true -Ptest

01ebd755782e4c909dad0843d3544acf.jpeg

Post Steps:选Execute shell

填入shell命令:(这个shell命令只需要改三个变量替换成自己的就行)

01ebd755782e4c909dad0843d3544acf.jpeg


#!/bin/bash
# 定义变量(以下三个变量替换成自己的)
JAR_NAME="time-intersection-0.0.2-SNAPSHOT.jar"    #jar包名称
PROJECT_NAME="test"    #构建的jenkins项目的名称
MY_PROJECT_PATH="/home/app"    #项目想要部署的路径
JAR_FILE=/var/lib/jenkins/workspace/${PROJECT_NAME}/target/${JAR_NAME}    #因为jenkins打包自动放在它自己的目录下
PROJECT_PATH=${MY_PROJECT_PATH}/${PROJECT_NAME}    #项目部署所在路径
echo "jar包路径:${JAR_FILE}"
# 在部署前杀死上一次的程序
pid=$(ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}')
if [ -n "${pid}" ]; then
echo "kill -9 ${pid}"
# grep ${JAR_NAME} 查询一个程序
# grep -v grep 去除 grep
# awk '{print $2}' 获取第二列数据
# xargs kill -9 xargs可以将返回的数据传到给下一个命令使用
ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}' | xargs kill -9
fi
# 判定目录和文件是否存在
if [ ! -f ${JAR_FILE} ]; then
echo "${JAR_FILE} not exist!"
exit
else
if [ ! -d ${PROJECT_PATH} ]; then
echo "创建项目路径:${PROJECT_PATH}"
mkdir -p ${PROJECT_PATH}
chmod 777 ${PROJECT_PATH}
fi
#复制jenkins自动打包的jar包到我们指定的目录
cp ${JAR_FILE} ${PROJECT_PATH}/${JAR_NAME}
#给予文件最大权限
chmod 777 ${PROJECT_PATH}/${JAR_NAME}
fi
# 部署新的程序
cd ${PROJECT_PATH}
BUILD_ID=dontKillMe    #必须加,否则jenkins启动结束后会自动杀进程,有的jenkins版本是JENKINS_NODE_COOKIE=dontKillMe
nohup java -jar ${JAR_NAME} --spring.profiles.active=prod >log.txt &
sleep 10
tail -n 200 log.txt
echo "Startup SpringBoot Application SUCCESS"
目录
相关文章
|
10月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
8月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
596 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
8月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
1156 0
|
10月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
496 5
|
10月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
10月前
|
Ubuntu 安全 Linux
Linux这5款微型发行版,体积小+精简,比win7运行还快,值得安装
以上5款微型发行版体积小且精简,如果你有台旧电脑,不妨试试?
深入实践springboot实战 蓄势待发 我不是雷锋 我是知识搬运工
springboot,说白了就是一个集合了功能的大类库,包括springMVC,spring,spring data,spring security等等,并且提供了很多和可以和其他常用框架,插件完美整合的接口(只能说是一些常用框架,基本在github上能排上名次的都有完美整合,但如果是自己写的一个框架就无法实现快速整合)。
|
Java 数据安全/隐私保护
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
959 1
|
缓存 Java Maven
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
824 1