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天前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
63 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
2月前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
186 64
SpringBoot项目打war包流程
|
23天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
121 25
|
27天前
|
Java 应用服务中间件 Maven
SpringBoot项目打包成war包
通过上述步骤,我们成功地将一个Spring Boot应用打包成WAR文件,并部署到外部的Tomcat服务器中。这种方式适用于需要与传统Servlet容器集成的场景。
44 8
|
2月前
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
171 36
|
2月前
|
自然语言处理 IDE Java
SpringBoot start.aliyun.com创建项目,解决properties乱码的问题
通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。
52 5
|
2月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
258 13
|
4月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
118 2
|
4月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
61 0