Docker自动打包脚本

前言:由于公司升级频繁,手动操作打包耗时较长,所以写了这个自动打包脚本提升工作效率。

#!/bin/bash
#服务路径
servicen="/home/bxyd"
new1="/home/newfile"

#请输入服务名称
read -p "请输入路径服务名称:" name
read -p "请输入对应服务名称:" name1

#请输入版本号
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>请进入阿里云-产品-kubernetes-无状态-找到对应服务查看版本号>>>>>>>>>>>>>>>>>>>>>> 33[0m"
read -p "请输入版本号:" version

#获取新包名称
dl=$(ls /home/newfile/)
new2="/home/newfile/$dl"
new3="/home/bxyd/$name/$dl"

#替换dockerfile包
if [ -f "$new2" ]; then
sed -i "s/#ADD $dl/ADD $dl/" /$servicen/$name/Dockerfile
sed -i "s/#$dl/$dl/" /$servicen/$name/Dockerfile
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
else
echo -e "33[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile失败<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
exit 255
fi

#删除旧包
if [ -f "$new3" ];then
rm -rf /$servicen/$name/$dl
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>删除旧包成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
else
echo -e "33[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>删除旧包成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
exit 255
fi

##移动新包
if [ -f "$new2" ]; then
mv /$new1/$dl /$servicen/$name/
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>移动新包成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
else
echo -e "33[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>文件不存在,已退出脚本<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
exit 255
fi

#打包上传
cd /$servicen/$name/
docker build -t cr.registry.sd-1.res.sgmc.sgcc.com.cn/dwzyywzt-nari/dwzyywzt-nari:$name1-$version .
if [ $? -eq 0 ];then
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>docker build打包成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
else
echo -e "33[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>docker build打包失败,已退出 脚本<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
exit 255
fi
docker push cr.registry.sd-1.res.sgmc.sgcc.com.cn/dwzyywzt-nari/dwzyywzt-nari:$name1-$version
if [ $? -eq 0 ];then
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>上传仓库成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
else
echo -e "33[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>上传失败,已退出脚本<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
exit 255
fi
##注释dockerfile


if [ -f "$new3" ]; then
sed -i "s/ADD $dl/#ADD $dl/" /$servicen/$name/Dockerfile
sed -i -z "s/$dl/#$dl/3" /$servicen/$name/Dockerfile
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
else
echo -e "33[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile失败<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
exit 255
fi
echo -e "33[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>请到阿里云修改版本号<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33[0m"
发表评论

相关文章