最近打算把代码自动部署搞定,原来打算在服务器git clone 在打包发布,感觉有些麻烦,想到之前用的jenkins很方便,所以打算整合jenkins来实现自动部署。
首先下载相关资料
https://pan.baidu.com/s/1yO-UeP0BmbE_VoFqwKnZUw
我把一部分已经上传到百度云
文件上传我是使用 xshell 命令行输入rz就会弹出窗口进行上传了。没有rz的可以安装一个。上传的文件在~目录,
首先就是部署jenkins ,我是首先安装了一个tomcat
然后把jenkins.war放到webapp下面
大家可以看到我已经把jenkins放到了webapp下面,启动后就会解压大家都知道吧。
之后就可以访问jenkins进行配置了。
大家可以参考这个博客
http://blog.youkuaiyun.com/shenhonglei1234/article/details/71480064
之后就是新建项目
最后项目执行文的执行脚本里面调用了三个。监本,杀进程,备份文件,启动新任务。
1.启动的脚本
chmod 777 /deploy_cmp/ksg-1.0.0.BUILD-SNAPSHOT.jar
echo "执行....."
cd /deploy_cmp
echo "睡10S"
sleep 10s
nohup java -Dserver.port=8080 -jar ksg-1.0.0.BUILD-SNAPSHOT.jar > demo.log &
echo "**********************cmp on jenkins started*************************"
~
2.关闭的监本
#!/bin/bash
cd /deploy_cmp_script
echo "关闭上一个项目"
ls
pid=`ps -ef | grep ksg-1.0.0.BUILD-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
3.备份的脚本
#!/bin/bash
jar_name=ksg-1.0.0.BUILD-SNAPSHOT.jar
#!编译好的jar包存放地址
file_path=/root/.jenkins/workspace/ksg-server/target/
#!将现有的jar备份后,将新的jar包替换
echo "备份项目"
file="/deploy_cmp/ksg-1.0.0.BUILD-SNAPSHOT.jar"
if [ -f "$file" ]
then
mv /deploy_cmp/ksg-1.0.0.BUILD-SNAPSHOT.jar /deploy_cmp_backup/ksg-1.0.0.BUILD-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp /root/.jenkins/workspace/ksg-server/target/ksg-1.0.0.BUILD-SNAPSHOT.jar /deploy_cmp
~
~
本人邮箱 1317314556@qq.com