见https://blog.youkuaiyun.com/qq_38270106/article/details/97764483
4.配置jdk与maven
*_HOME与环境变量一致
5.其他配置
修改ssh配置
配置远程地址 也就是运行项目服务器
修改端口号
6.安装插件
安装Maven Integration,Publish Over SSH
7.新建运行空间
1处:为新建空间名称
2处:需要下载前文的maven插件
只保留3个jar包
开始填写配置
1:项目描述
2:项目的svn路径
3:svn账号密码
每次提交都部署
此处添加日志输出
1处:前面配置运行文件服务器的配置
2处:jenkins服务器本地发布jar包的路径 + jar包名称 可以填写 target/*.jar
3处:打包路径 可以填写 target
4处:ssh 发送jar包的路径
5处:ssh的命令
部署原理是 jenkin把代码拉到本地 然后打成jar包 到2位置处 然后在jar包发到服务器4的路径下 然后执行5处脚本
5处的命令
cd /usr/local/*
./*.sh stop
./*.sh start
脚本
#替换这里jar包的路径,其它代码无需更改
APP_NAME=/usr/local/jar/*.jar
#使用说明,用来提示输入参数
usage() {
echo “Usage: sh item.sh [start|stop|restart|status]”
exit 1
}
#检查程序是否在运行
is_exist(){
pid=ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'
#如果不存在返回1,存在返回0
if [ -z “${pid}” ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq 0 ]; then
echo “ A P P N A M E i s a l r e a d y r u n n i n g . p i d = {APP_NAME} is already running. pid= APPNAMEisalreadyrunning.pid={pid}”
else
nohup /usr/local/jdk/jdk1.8.0_231/bin/java -jar ${APP_NAME} > earlywarning.out 2>&1 &
echo "
===============
程序成功启动!
==============="
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq “0” ]; then
kill -9 $pid
echo "
==============
程序成功关闭!
=============="
else
echo “${APP_NAME} is not running”
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq “0” ]; then
echo “${APP_NAME} is running. Pid is ${pid}”
else
echo “${APP_NAME} is NOT running.”
fi
}
#重启
restart(){
stop
sleep 5
start
更多:Java进阶核心知识集
包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等
高效学习视频
{APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
sleep 5
start
更多:Java进阶核心知识集
包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等
[外链图片转存中…(img-h5YPZeZr-1719174465790)]