jenkins如何实现shell脚本化定时执行任务
jenkins如何实现shell脚本化定时执行任务
这篇文章将为大家详细讲解有关jenkins如何实现shell脚本化定时执行任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1.开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走nginx的访问请求。
socket发起请求之后不需要nginx执行交互可以断开了,但是socket这个任务在auction拍卖任务没结束前重启auction就会出问题。
解决访问是jenkins构建好之后将jar远程推送到生产服务器,提前退出后台执行服务器远程脚本,脚本通过ngnx提前切走nginx代理auction sleep 1800s,半小时后执行更新重启。
指定构建目录获取同级依赖
#!/bin/bash#脚本中只要出现执行不是true的语句,就退出不再往下执行set-esed-i's/server192.168.0.31:8090/#server192.168.0.31:8090/g'/home/nginx.proxy/conf/nginx.conf/home/nginx.proxy/sbin/nginx-sreloadsleep1800s#导入环境变量exportjar_PATH=/data/webexportAPP_PATH=/home/auction#判断老的进程是否存在,若存在就杀掉killjar(){pid=`ps-ef|grepauction|grepjava|awk'{print$2}'`echo"auctionIdlist:$pid"if["$pid"=""]thenecho"noauctionpidalive"elsekill-9$pidfi}#调用函数killjar#判断老的jar包是否存在,若存在就删除[-f$APP_PATH/auction-1.0-SNAPSHOT.jar]&&\rm-rf$APP_PATH/auction-1.0-SNAPSHOT.jar#更新最新的jar包if[-f$jar_PATH/auction-1.0-SNAPSHOT.jar];thenmv$jar_PATH/auction-1.0-SNAPSHOT.jar$APP_PATHfi#重新启动cd$APP_PATH#nohupjava-jar-Dspring.config.location=/home/auction/config/application.ymlauction-1.0-SNAPSHOT.jar>/dev/null2>&1&nohupjava-jarauction-1.0-SNAPSHOT.jar>/dev/null2>&1sleep10秒,等待java进程完成起来sleep5ssed-i's/#server192.168.0.31:8090/server192.168.0.31:8090/g'/home/nginx.proxy/conf/nginx.conf/home/nginx.proxy/sbin/nginx-sreloadecho'Startsuccess!'
关于“jenkins如何实现shell脚本化定时执行任务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
推荐阅读
-
怎样在 Linux中优化 Shell 脚本执行速度
-
怎样在 Linux中设置用户的登录 Shell 限制
-
Linux怎么设置用户的默认 shell
-
Linux中如何安全注销当前用户账户
-
jenkins(docker 最佳实践 小团队devops如何落地)
小团队devops如何落地?我司之前小团队java技术站CI/CD路线,基于阿里云自建整体原则:先测什么后生产出来,先边缘后核心具...
-
浅谈php一句话木马工作原理
-
PHP中9个非常非常有用的函数
-
Shell编程基础(五)Shell数组与Subshell
-
linux shell 解析命令行参数及while getopts用法小结
目录linuxshell解析命令行参数|getpotsgetpotslinuxshell解析命令行参数|getpotsd...
-
docker启动jenkins环境的问题怎么解决
docker启动jenkins环境的问题怎么解决本篇内容主要讲解“...