Jenkins项目部署

使用jenkins部署项目

简易版使用jenkins部署项目

将war包部署到tomcat中

将已有的war包部署到tomcat中(jenkins与tomcat在同一台主机)

点击Jenkins主页的新建任务

输入任务名称

选择构建一个自由风格的软件项目后点击确定

在构建内添加构建步骤,选择执行shell

输入执行脚本

#!/bin/sh
tomcat_path=/usr/java/tomcat/tomcat8081
ShutDownTomcat=${tomcat_path}/bin/shutdown.sh
StartTomcat=${tomcat_path}/bin/startup.sh
echo "============删除旧的war包==================="
rm ${tomcat_path}/webapps/docker.war
echo "============删除tomcat下旧的文件夹============="
rm -rf ${tomcat_path}/webapps/docker
echo "======拷贝编译出来的war包到tomcat下======="
cp /usr/java/project/docker.war  ${tomcat_path}/webapps/docker.war
echo "====================关闭tomcat====================="
${ShutDownTomcat}
echo "================sleep 10s========================="
for i in {1..10}
doecho $i"s"sleep 1s
done
export BUILD_ID=DontKillMe
echo "====================启动tomcat====================="
${StartTomcat}启动jar
#!/bin/sh
jarPath=/usr/java/jar
projectJar=/usr/java/project
echo "============删除旧jar============="
rm -rf ${projectJar}/demo.jar
echo "======拷贝新的jar到运行的目录下面======="
cp ${jarPath}/demo.jar ${projectJar}/demo.jar
echo "====================关闭jar的进程====================="
l=`ps -ef|grep -v grep|grep demo|awk '{print $2}'`
kill -9 $l
echo "================sleep 10s========================="
for i in {1..10}
doecho $i"s"sleep 1s
done
export BUILD_ID=DontKillMe
echo "====================启动jar====================="
nohup java -jar ${projectJar}/demo.jar &

点击左侧的立即构建

maven版使用jenkins部署项目

准备linux的安装环境

1. 在linux上安装jdk,并配置环境变量

2. 在linux上安装tomcat,并配置环境变量

在之前文章 磁盘与文件管理有配置教程 http://t.csdnimg.cn/kJmXM

在linux上安装并配置git

安装依赖环境

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

2.删除已有的git(!!!)

这一步不能忘记,配置完环境变量后,如果 git --version 的版本不是我们所安装的要再次执行这个删除命令

yum -y remove git

3.将tar传输到/usr/手动创建的文件夹/git并解压

Git (git-scm.com)  其他方式(yum...)

Index of /pub/software/scm/git/ (kernel.org) tar包下载

tar -zxvf git-2.9.5.tar.gz

4.编译

cd git-2.9.5(进入解压目录下)

make prefix=/usr/formwork/git all

make prefix=/usr/formwork/git install

1.编译可能会出现

解决方法

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

重新执行依赖安装,这里是配置之前的安装依赖已经安装过这个

在之前文章 磁盘与文件管理 ​​​​​​http://t.csdnimg.cn/kJmXM

        去掉 gcc 

然后执行后 继续执行

        make prefix=/usr/formwork/git all

        make prefix=/usr/formwork/git install

5.将环境变量配置到/etc/profile里面

6.重启环境变量配置

source /etc/profile

7.查看git版本

git --version

在linux上安装并配置maven

1.官网下载连接,下载 .tar.gz

Maven – Download Apache Maven

2.解压缩 tar -zxvf

3.配置环境变量

vi /etc/profile

export MAVEN_HOME=/usr/java/maven/apache-maven-3.5.0

export PATH=$MAVEN_HOME/bin:$PATH

使文件生效 source /etc/profile

export MAVEN_HOME=/usr/formwork/apache-maven-3.8.8
export GIT_HOME=/usr/formwork/git
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$GIT_HOME/bin:$PATH:$MAVEN_HOME/bin:
$PATH
4.查看maven版本号

mvn -v

5.配置maven下载镜像

配置ali镜像

vim /usr/formwork/apache-maven-3.8.8/conf/settings.xml

<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror>
6.安装maven必要的插件

记得配完下载镜像后再执行!!不然要等很久

mvn help:system

这个比较漫长

Jenkins安全配置(记得保存与应用)

全局配置(记得保存与应用)

路径看 vim /etc/profile  环境变量的配置路径即可

开始创建maven项目

下载maven的插件

下载git的插件

1.新建任务,创建maven项目

2.确定后下滑配置git仓库

3.继续下滑配置触发器,每五分钟触发一次

4.编译的选项

clean package -U -Dmaven.test.skip=true

BUILD_ID=DONTKILLME
echo "部署的目录和项目名称"
sh /usr/java/test/build.sh
echo "success"

对应的build.sh(存放在linux中的/usr/java/test/文件夹下)

#! /bin/bash
echo "部署的目录和项目名称"
DIR="/usr/java/project"
projectName="demo"
echo "待部署的应用服务器"
server_ips="192.168.253.16"
#所有的参数列表
for server_ip in ${server_ips[@]}
do
echo "进行备份操作"
mkdir -p $DIR/backup/${projectName}if [ -f "$DIR/${projectName}/${projectName}.jar" ];thenmv $DIR/${projectName}/${projectName}.jar $DIR/backup/${projectName}/${projectName}-`date "+%Y%m%d_%H%M%S"`.jarfi
echo "拷贝jar包到目标服务器的目录下"
cp ${WORKSPACE}/target/*.jar $DIR/${projectName}/${projectName}.jarecho "目标服务器:$DIR/${projectName}/${projectName}.jar"echo "连接进行发布操作"
#mv /usr/java/test/demo.jar $DIR/backup/${projectName}/${projectName}.jar
echo "开始关闭jar"
l=`ps -ef|grep demo.jar|grep -v grep|awk '{print $2}'`
for i in $l
dokill -9 $i
done
sleep 5s
echo "启动jar"
nohup java -jar $DIR/${projectName}/${projectName}.jar --server.port=9999 > release_out.log 2>&1 &start_ok=false
done
5.注意文件的路径问题

在我们绑定的gi仓库地址上传我们的项目

Jenkins:

拉取代码: git

打包: jar

将对应的jar  存放到指定的位置

启动构建

两种都可以,立即构建

等待很漫长

构建失败解决方法

1.检查我们创建的 build.sh 文件是否有执行权限 没有的话 chmod -R 755 build.sh

2.vim /usr/formwork/apache-maven-3.8.8/conf/settings.xml 

在我们配置的ali 镜像 http 后面加 s (maven认为不安全阻止了访问)

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

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

相关文章

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图)

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测&#xff08;多指标、多图&#xff09; 目录 回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测&#xff08;多指标、多图&#xff09;效果一览基本介绍程序设计参考资料 效果一览…

数字IC后端实现 |TSMC 12nm 与TSMC 28nm Metal Stack的区别

下图为咱们社区IC后端训练营项目用到的Metal Stack。 芯片Tapeout Review CheckList 数字IC后端零基础入门Innovus学习教程 1P代表一层poly&#xff0c;10M代表有10层metal&#xff0c;M5x表示M2-M6为一倍最小线宽宽度的金属层&#xff0c;2y表示M7-M8为二倍最小线宽宽度的金…

npm的使用

package.json 快速生成package.json npm init -y “version”: “~1.1.0” 格式为&#xff1a;「主版本号. 次版本号. 修订号」。 修改主版本号是做了大的功能性的改动 修改次版本号是新增了新功能 修改修订号就是修复了一些bug dependencies "dependencies": {&…

redis rdb aof

appendonly yes # appendfsync always appendfsync everysec # appendfsync no E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit appendonly.aof

BERT:来自 Transformers 的双向编码器表示 – 释放深度上下文化词嵌入的力量

BERT是Transformers 双向编码器表示的缩写,是 2018 年推出的改变游戏规则的 NLP 模型之一。BERT 的情感分类、文本摘要和问答功能使其看起来像是一站式 NLP 模型。尽管更新和更大的语言模型已经出现,但 BERT 仍然具有相关性,并且值得学习它的架构、方法和功能。 这篇综合文…

Jetson NX FFmpeg硬件编解码实现

最近在用Jetson Xavier NX板子做视频处理&#xff0c;但是CPU进行视频编解码&#xff0c;效率比较地下。 于是便考虑用硬解码来对视频进行处理。 通过jtop查看&#xff0c;发现板子是支持 NVENC硬件编解码的。 1、下载源码 因为需要对ffmpeg进行打补丁修改&#xff0c;因此需…

Springboot JSP项目如何以war、jar方式运行

文章目录 一&#xff0c;序二&#xff0c;样例代码1&#xff0c;代码结构2&#xff0c;完整代码备份 三&#xff0c;准备工作1. pom.xml 引入组件2. application.yml 指定jsp配置 四&#xff0c;war方式运行1. 修改pom.xml文件2. mvn执行打包 五&#xff0c;jar方式运行1. 修改…

centos7 开机命令自启动

要在CentOS 7中将命令添加到开机自动启动中&#xff0c;你可以使用/etc/rc.local文件&#xff0c;这是一个在系统引导时自动运行的脚本文件。以下是如何在/etc/rc.local中添加自定义命令的步骤&#xff1a; 打开/etc/rc.local文件进行编辑&#xff1a; sudo nano /etc/rc.local…

软考高项-项目资源管理

项目资源管理包括识别、获取和管理所需资源以成功完成项目的各个过程。这些过程有助于确保项目经理和项目团队在正确的时间盒地点使用正确的资源。 项目资源分为:实物资源(设备、材料、设施和基础设施);团队资源(人力资源) 权力 权力权力要点来源职位权力来源于管理者在…

qgis linux环境下编译

RED$(tput setaf 1) GREEN$(tput setaf 2) RES$(tput sgr0) #清除颜色function pause() {echo "${RED}Press any key to continue!${RES}"dd if/dev/tty bs1 count1 2> /dev/null } function open_package() {tar_dir$1 #压缩包路径src_dir$2run_cmd$3#解压 if […

MATLAB中设置 Git 源代码管理

目录 在 Git 中注册二进制文件 在 Windows 上为 Git 配置 MATLAB 启用对长路径的支持&#xff08;推荐&#xff09; 安装 Cygwin&#xff08;可选&#xff09; 将 MATLAB 配置为使用 Git SSH 验证 安装 Git 凭据助手 对 Simulink 模型禁用压缩 配置 Git 以使用 Git LFS…

PPT制作指南

诸神缄默不语-个人CSDN博文目录 文章目录 1. SOP2. PPT的目标3. PPT素材4. 内容框架5. 设计细节本文撰写过程中使用到的参考资料 1. SOP 分析目标→收集素材→明确框架→视觉呈现 2. PPT的目标 演讲型PPT&#xff1a;字少图多 阅读型PPT&#xff1a;需要文字解释 分析维度&…

【深度学习基础】Pytorch框架CV开发(2)实战篇

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

ubuntu20.04下apache启用php7.4-fpm

默认的apache不解析php文件&#xff1a; 直接安装提示依赖有问题&#xff1a; libapache2-mod-php7.4 : Depends: php7.4-common ( 7.4.3-4ubuntu2.19) but 1:7.4.33-8ubuntu20.04.1deb.sury.org1 is to be installed rootfv-az1492-145:/tmp# sudo apt install libapache2-…

springboot常见网络相关错误及原因解析

在基于spring-boot开发过程尤其是上线后&#xff0c;经常出现网络相关的错误&#xff0c;令人难以琢磨和下手&#xff0c;所以就spring-boot使用过程中可能碰到的网络相关问题进行分析&#xff0c;结合网络转包、日志报错和前端输出&#xff0c;针对网络连接超时、连接被拒绝、…

默认路由配置

默认路由&#xff1a; 在末节路由器上使用。&#xff08;末节路由器是前往其他网络只有一条路可以走的路由器&#xff09; 默认路由被称为最后的关卡&#xff0c;也就是静态路由不可用并且动态路由也不可用&#xff0c;最后就会选择默认路由。有时在末节路由器上写静态路由时…

十种常见典型算法

什么是算法&#xff1f; 简而言之&#xff0c;任何定义明确的计算步骤都可称为算法&#xff0c;接受一个或一组值为输入&#xff0c;输出一个或一组值。&#xff08;来源&#xff1a;homas H. Cormen&#xff0c; Chales E. Leiserson 《算法导论第3版》&#xff09; 可以这样理…

自动驾驶算法(五):Informed RRT*算法讲解与代码实现(基于采样的路径规划) 与比较

目录 1 RRT*与Informed RRT* 2 Informed RRT*代码解析 3 完整代码 4 算法比较 1 RRT*与Informed RRT* 上篇博客我们介绍了RRT*算法&#xff1a;我们在找到一个路径以后我们还会反复的搜索。 Informed RRT*算法提出的动机(motivation)是能否增加渐近最优的速度呢&#xff1f;…

【数据结构】树家族

目录 树的相关术语树家族二叉树霍夫曼树二叉查找树 BST平衡二叉树 AVL红黑树伸展树替罪羊树 B树B树B* 树 当谈到数据结构中的树时&#xff0c;我们通常指的是一种分层的数据结构&#xff0c;它由节点&#xff08;nodes&#xff09;组成&#xff0c;这些节点之间以边&#xff08…

基于级联延迟信号消除的锁相环(CDSC_PLL)技术MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 基于级联型延迟信号消除&#xff08;CDSC&#xff09;的锁相环技术&#xff08;CDSC-PLL&#xff09;&#xff0c;该锁相环克服了传统dq 锁相环在电网电压畸变或不对称时存在较大稳态误差的缺点。CDSC-PLL是在…