jenkins实现jar包自动发布和回滚(二)----jenkins实现项目发布、回滚
2020-12-28 04:29
标签:-name http func osi col epo jar 编写 build 一、新建项目 二、配置项目 添加部署和回滚选择 三、添加源码管理 构建触发器 默认即可 四、编写选择代码 五、发布代码脚本 六、运行jenkins PS:在jenkins持续发布中 本人遇到一个问题,还望撸友们相助! 就是在maven打包时候,并不能自动更新项目依赖的jar,第一次更新,jenkins会将jar拉倒本地,而第二次更新jenkins检测到本地有这个包,但并不知道此时jar已更新,因此还是用着之前的老jar包,这样打包就会报出缺少依赖问题 此时则需要手动删除 .m2/repository中相应的依赖包,重新打包方可。 因此,请教撸友们有没有什么地方可以设置,自动检索更新新的依赖jar包! 谢谢大家,希望大家多多指点一下。 jenkins实现jar包自动发布和回滚(二)----jenkins实现项目发布、回滚 标签:-name http func osi col epo jar 编写 build 原文地址:https://www.cnblogs.com/Topyxd/p/13029679.htmlcase $deploy_env in
Deploy)
echo "status: $deploy_env"
path="${WORKSPACE}/dist"
if [ -d $path ];then
echo "The file is already exists!!!"
else
mkdir -p $path
fi
cd ${WORKSPACE}
tar czf dist/${JOB_NAME}-${BUILD_NUMBER}.tar.gz * --exclude=dist
find ${WORKSPACE}/dist -mtime 2 -name "*.tar.gz" -exec rm -rf {} \;
echo "Completion!!!"
;;
RollBack)
echo "Status: $deploy_env"
echo "version: $version"
file_old=`ls ${WORKSPACE}/dist | grep $version`
cd ${WORKSPACE}/dist
cp -R $file_old ${JOB_NAME}-${BUILD_NUMBER}.tar.gz
;;
*)
exit
;;
esac
[root@yxd-test-cet7 profitassist]# cat profitassist.sh
#!/bin/sh
#Copy jar to target path
#by author YuXD 2020-03-24
source /etc/profile
BUILD_ID=DONTKILLME #后台执行
date=`date +%Y%m%d`
project_name=profit-assist-0.0.1-SNAPSHOT.jar
pid=$(ps -ef|grep ${project_name}|grep -v grep | awk ‘{print $2}‘)
# 关闭已经启动的jar进程
function stop(){
if [ -n "$pid" ]
then
echo "pid进程 :$pid"
kill -9 $pid
else
echo "进程没有启动"
fi
}
stop
sleep 5s
#发布jar服务
function start(){
tar -czvf profit-assist-0.0.1-SNAPSHOT.jar.$date profit-assist-0.0.1-SNAPSHOT.jar
wget http://172.*.*.*:8080/profitassist/target/profit-assist-0.0.1-SNAPSHOT.jar -O profit-assist-0.0.1-SNAPSHOT.jar
./startup.sh
ps -ef|grep ${project_name}
}
start
[root@yxd-test-cet7 profitassist]# cat startup.sh
#!/bin/bash
nohup java -jar profit-assist-0.0.1-SNAPSHOT.jar &
文章标题:jenkins实现jar包自动发布和回滚(二)----jenkins实现项目发布、回滚
文章链接:http://soscw.com/index.php/essay/38743.html