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"
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 Ubuntu
|
1月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
414 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
1月前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
167 2
|
2月前
|
Linux Shell
6-9|linux查询现在运行的进程
6-9|linux查询现在运行的进程
|
1月前
|
jenkins Java 持续交付
Jenkins打包,发布,部署
Jenkins打包,发布,部署
200 0
|
1月前
|
Ubuntu jenkins 持续交付
Ubuntu系统 用docker安装jenkins
Ubuntu系统 用docker安装jenkins
|
2月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
232 0
|
2月前
|
Linux
用QEMU模拟运行uboot从SD卡启动Linux
用QEMU模拟运行uboot从SD卡启动Linux
|
分布式计算 资源调度 Hadoop
|
应用服务中间件 Linux nginx
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
1065 0