Jenkins构建项目和tomcat项目发布脚编写本详细教程jenkins 2.361版本

news2024/9/30 4:36:33

jenkins部署教程可查看上一篇文档

jenkins部署指定任意版本和配置详细教程 jenkins 2.361版本示例_争取不加班!的博客-CSDN博客

Jenkins服务器去拉取代码,所以要下载git客户端

yum -y install git jenkins服务器下载

下面就是构建发布任务测试可以性

测试使用github上开源的一个小项目https://github.com/bingyue/easy-springmvc-maven

填写完url后如果有报错Failed to connect to repository : Error performing git command: git ls-remote -h https://github.com/bingyue/easy-springmvc-maven HEAD

那么就是jenkins服务器上没有安装git服务的原因

配置好后端服务器在配置调用maven命令

以上构建项目配置基本配置完成了就,然后来到后端服务器配置一下构建之后的脚本,注意测试的话后端服务器还需要配置jdk和tomcat。

后端服务器操作192.168.197.136

下载tomcat

wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.5/bin/apache-tomcat-10.1.5.tar.gz --no-check-certificate

tar -xvzf apache-tomcat-10.1.5.tar.gz

mv apache-tomcat-10.1.5 /data/tomcat

下载jdk或者自己上传包 https://www.oracle.com/java/technologies/downloads/

wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz

tar -xvzf openjdk-11+28_linux-x64_bin.tar.gz

mv jdk-11/ /data/java

配置环境变量: vim /etc/profile

export JAVA_HOME=/data/java

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

export TOMCAT_HOME=/data/tomcat

source /etc/profile

java -version 看下版本号是否配置成功

注意我这里使用的是tom用户,在配置的时候如果不是用的root用户注意操作目录的权限

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

脚本配置不易望各位大佬点点收藏、点赞、和关注

vim /data/jenkins.sh

chmod + x /data/jenkins.sh

#!/bin/bash

#本脚本适用于jenkins持续集成,实现备份war包到代码更新上线!使用时请注意全局变量。

export JAVA_HOME=/data/java

webapp_path="/data/tomcat/webapps"

tomcat_run="/data/tomcat/bin"

updata_path="/data/update/`date +%F-%T`"

backup_path="/data/backup/`date +%F-%T`"

tomcat_pid=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`

files_dir="easy-springmvc-maven"

files="easy-springmvc-maven.war"

job_path="/home/tom/upload"

#Preparation environment

echo "Creating related directory"

mkdir -p $updata_path

mkdir -p $backup_path

echo "Move the uploaded war package to the update directory"

mv $job_path/$files $updata_path

echo "========================================================="

cd /opt

echo "Backing up java project"

if [ -f $webapp_path/$files ];then

tar czf $backup_path/`date +%F-%H`.tar.gz $webapp_path

if [ $? -ne 0 ];then

echo "打包失败,自动退出"

exit 1

else

echo "Checking if tomcat is started"

if [ -n "$tomcat_pid" ];then

kill -9 $tomcat_pid

if [ $? -ne 0 ];then

echo "tomcat关闭失败,将会自动退出"

exit 2

fi

fi

cd $webapp_path

rm -rf $files && rm -rf $files_dir

cp $updata_path/$files $webapp_path

cd /opt

$tomcat_run/startup.sh

sleep 5

echo "显示tomcat的pid"

echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"

echo "tomcat startup"

echo "请手动查看tomcat日志。脚本将会自动退出"

fi

else

echo "Checking if tomcat is started"

if [ -n "$tomcat_pid" ];then

kill -9 $tomcat_pid

if [ $? -ne 0 ];then

echo "tomcat关闭失败,将会自动退出"

exit 2

fi

fi

cp $updata_path/$files $webapp_path

$tomcat_run/startup.sh

sleep 5

echo "显示tomcat的pid"

echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"

echo "tomcat startup"

echo "请手动查看tomcat日志。脚本将会自动退出"

fi

配置好脚本后来到jenkins构建项目

ls /data/tomcat/webapps/ 查看tomcat发布目录已经生成新的内容

ls /data/backup/ 查看备份路径也生成了以时间命名的目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/348726.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一个Python程序-HelloWorld与Python解释器

数据来源 01 第一个Python程序-HelloWorld 1)打开cmd: windows R 打开运行窗口输入cmd 2)进入Python编写页面 输入:python 3)然后输入要写的Python代码然后回车 print("Hello World!!!") print() …

利用AxhubCharts元件库在Axure RP中快速创建可视化统计图

利用AxhubCharts元件库在Axure RP中快速创建可视化统计图,可创建的可视化统计图有折线图、柱状图、堆叠柱状图、条形图、堆叠条形图、面积图、饼图、环形图、漏斗图、甘特图、散点图等。具体操作步骤见下文。 1.下载AxhubCharts.rplib元件库文件 2.载入AxhubChart…

【Node.js】模块化

模块化模块化的基本概念模块化规范Node.js中模块化分类模块作用域向外共享模块作用域的成员Node.js中的模块化规范模块化的基本概念 指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程对于整个系统来说,模块是可组合,分解和更换…

mysql的一些底层学习

数据库三大范式 1、第一范式:确保每列保持原子性 2、第二范式:确保表中每列都与主键列相关 3、第三范式:确保表中每列都与主键列直接相关而不是间接相关 不要一味的去追求符合范式要求,实际项目中,需求 > 性能 …

GPT-3(Language Models are Few-shot Learners)简介

GPT-3(Language Models are Few-shot Learners) GPT-2 网络架构 GPT系列的网络架构是Transformer的Decoder,有关Transformer的Decoder的内容可以看我之前的文章。 简单来说,就是利用Masked multi-head attention来提取文本信息,之后利用MLP和…

内嵌于球体的多边形

( A, B )---2*30*2---( 1, 0 )( 0, 1 ) 做一个网络让输入只有2个节点,每个训练集里有两张图片,让B的训练集全为0,排列组合A,观察迭代次数平均值的变化。 共得到32组数据, 差值结构 A-B 迭代次数 1 1 3*2*0*0 104…

计算机网络学习笔记(二)物理层

物理层(传输比特0/1)基本概念 物理层下的传输媒体 1. 导引型 同轴电缆,双绞线(绞合可抵御干扰),光纤,电力线 2. 非导引型(调制振幅 频率 相位) 无线电波,微…

SpringBoot整合MybatisPlus(powernode CD2207)(内含教学视频+源代码)

SpringBoot整合MybatisPlus(powernode CD2207)(内含教学视频源代码) 教学视频源代码下载链接地址:https://mp.csdn.net/mp_download/manage/download/UpDetailed 目录SpringBoot整合MybatisPlus(powernode…

项目搭建规范

一. 代码规范 1.1. 集成editorconfig配置 EditorConfig 有助于为不同 IDE 编辑器上处理同一项目的多个开发人员维护一致的编码风格。 # http://editorconfig.org root true [*] # 表示所有文件适用 charset utf-8 # 设置文件字符集为 utf-8 indent_style space # 缩进…

数据结构 - 栈 与 队列 - (java)

前言 本篇介绍栈和队列,了解栈有顺序栈和链式栈,队列底层是双链表实现的,单链表也可以实现队列,栈和队列的相互实现和循环队列;如有错误,请在评论区指正,让我们一起交流,共同进步&a…

Splashtop:支持M1/M2芯片 Mac 电脑的远程控制软件

M1和M1芯片的Mac电脑现在越来越多了。M1和M2的强大性能,让使用者们办公、娱乐如虎添翼。 M1 芯片于2020年11月11日推出,是Apple 首款专为Mac打造的芯片,拥有格外出色的性能、众多的功能,以及令人惊叹的能效表现。M1 也是Apple 首款…

Docker搭建MySQL主主模式+Keepalived实现高可用集群

1.环境准备: 系统版本 Centos7 IP:10.10.11.79 master IP:10.10.11.80 backup 虚拟ip:10.10.11.82 Docker环境: centos7离线安装docker,docker-compose keepalived安装包: https://www.k…

设计模式之原型模式与建造者模式详解和应用

目录1 原型模式1.1 原型模式定义1.2 原型模式的应用场景1.3 原型模式的通用写法(浅拷贝)1.4 使用序列化实现深度克隆1.5 克隆破坏单例模式1.6 原型模式在源码中的应用1.7 原型模式的优缺点1.8 总结2 建造者模式2.1 建造者模式定义2.2 建造者模式的应用场…

自动化测试基础概念

前端自动化测试相关概念(单元测试、集成测试、E2E 测试、快照测试、测试覆盖率、TDD 以及 BDD 等内容),以及测试框架 Jest 的讲解,Vue.js 应用测试,React 应用测试,E2E 测试,Node.js 应用测试等…

操作系统(三):内存管理,分页地址映射,页面置换算法LRU,NRU,FIFO,第二次机会算法和时钟算法

文章目录一、虚拟内存二、分页系统地址映射三、页面置换算法最佳置换算法LRU 最近最久未使用算法NRU 最近未使用FIFO 先进先出第二次机会算法时钟算法四、内存分段五、段页式六、分页和分段的比较一、虚拟内存 虚拟内存的目的是为了让无力内存扩充成更大的逻辑内存&#xff0c…

手工测试怎样找到第一份自动化测试的工作?

你会手工测试了,那么准备再找自动化测试的工作,相对于什么都不懂的小白来说优势很大。要找自动化测试的工作,首先你要会自动化测试,你要会编程,能写自动化测试脚本的语言有很多,你可以自己选择一门&#xf…

求职笔记记录

求职笔记记录目录概述需求:设计思路实现思路分析1.面试过程参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.…

tofu:一款功能强大的模块化Windows文件系统安全测试工具

关于tofu tofu是一款功能强大的针对Windows文件系统安全的模块化工具,该工具可以使用离线方法对目标Windows文件系统进行渗透测试,并通过绕过Windows系统登录界面来帮助广大研究人员测试Windows主机的安全性。除此之外,该工具还可以执行哈希…

Python学习笔记 --- 初识Python

编译器和解释器 概念: 可以把编译器和解释器理解成是人与计算机之间的 “翻译”,将代码翻译成计算机能够识别的指令。 编译器:全文翻译,拿到代码会将其编译成一个计算机能够识别的临时文件,再把文件交给操作系统读取…

SpringMVC(3)

通过上面的学习我们知道,默认情况下无论是Spring MVC还是SpringBoot返回的都是现在都是前后端分离的,后端只需要进行返回数据给前端数据即可 1)向浏览器返回一个HTML界面 请求参数的数据类型Contnt-Type:text/html;charsetutf-8 RequestMapp…