一,大概流程
开发提交 git > jenkins > mvn > 脚本
#利用 find 查找对应目录是否有修改的文件,-name 所有文件 -mmin -1 一分钟 。
#这样开发提交代码,只重新启动修改过代码的容器
#!/bin/bash
#ppay_dist,判断dist目录是否改动,如有,更新dist模块,重启dist容器
dist=`find /var/lib/jenkins/workspace/ppay/dist/src/ -name '*.*' -mmin -1 | wc -l`
if [ "$dist" == "0" ];then
echo 0
else
#停止dist分销系统容器
docker stop ppay_dist
#删除dist-primary分销系统容器
docker rm ppay_dist
#启动新的dist-primary分销系统容器
docker run --name ppay_dist -v /etc/localtime:/etc/localtime -v /var/lib/jenkins/workspace/ppay/dist/target/dist-0.0.0.1.jar:/dist/dist-0.0.0.1.jar -itd -p 8887:8887 dist-alpine
fi
#ppay_eureka-server,判断eureka-server目录是否改动,如有,更新eureka-server模块,重启eureka-server容器
eureka_server=`find /var/lib/jenkins/workspace/ppay/eureka-server/src/ -name '*.*' -mmin -1 | wc -l`
if [ "$eureka_server" == "0" ];then
echo 0
else
#停止eureka-server容器
docker stop ppay_eureka-server
#删除eureka-server容器
docker rm ppay_eureka-server
#启动新的eureka-server容器
docker run --name ppay_eureka-server -v /etc/localtime:/etc/localtime -v /var/lib/jenkins/workspace/ppay/eureka-server/target/eureka-server-0.0.1-SNAPSHOT.jar:/eureka-server/eureka-server-0.0.1-SNAPSHOT.jar -itd -p 8761:8761 eureka-server-alpine
fi
#ppay_eureka-provider,判断eureka-provider目录是否改动,如有,更新eureka-provider模块,重启eureka-provider容器
eureka_provider=`find /var/lib/jenkins/workspace/ppay/eureka-provider/src/ -name '*.*' -mmin -1 | wc -l`
if [ "$eureka_provider" == "0" ];then
echo 0
else
#停止eureka-provider容器
docker stop ppay_eureka-provider
#删除eureka-provider容器
docker rm ppay_eureka-provider
#启动新的eureka-provider容器
docker run --name ppay_eureka-provider -v /etc/localtime:/etc/localtime -v /var/lib/jenkins/workspace/ppay/eureka-provider/target/eureka-provider-0.0.1-SNAPSHOT.jar:/eureka-provider/eureka-provider-0.0.1-SNAPSHOT.jar -itd -p 9999:9999 eureka-provider-alpine
fi
#ppay_eureka-zuul,判断eureka-zuul目录是否改动,如有,更新eureka-zuul模块,重启eureka-zuul容器
eureka_zuul=`find /var/lib/jenkins/workspace/ppay/eureka-zuul/src/ -name '*.*' -mmin -1 | wc -l`
if [ "$eureka_zuul" == "0" ];then
echo 0
else
#停止zuul网关
docker stop ppay_eureka_zuul
#删除dist-primary分销系统容器
docker rm ppay_eureka_zuul
#启动新的dist-primary分销系统容器
docker run --name ppay_eureka_zuul -v /etc/localtime:/etc/localtime -v /var/lib/jenkins/workspace/ppay/eureka-zuul/target/eureka-zull-0.0.1-SNAPSHOT.jar:/eureka-zuul/eureka-zull-0.0.1-SNAPSHOT.jar -itd -p 8084:8084 eureka-zuul-alpine
fi
#ppay_db,判断db目录是否改动,如有,更新db模块,重启所有容器
db=`find /var/lib/jenkins/workspace/ppay/db/src/ -name '*.*' -mmin -1 | wc -l`
if [ "$db" == "0" ];then
echo 0
else
/root/1.sh
fi