首页 > 其他分享 >Docker自动打包脚本

Docker自动打包脚本

时间:2022-10-12 10:01:29浏览次数:61  
标签:脚本 dl name echo 033 Docker 32m 打包 servicen

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

因为K8S的yaml都在内网阿里云上所以就没办法写进脚本修改版本了,如果有需要可以自行修改。

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

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

#请输入版本号
echo -e "\033[32m >>>>>>>>>>>>>>>>>>>>>>请进入阿里云-产品-kubernetes-无状态-找到对应服务查看版本号>>>>>>>>>>>>>>>>>>>>>> \033[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 "\033[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
else
echo -e "\033[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile失败<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
exit 255
fi

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

##移动新包
if [ -f "$new2" ]; then
mv /$new1/$dl /$servicen/$name/
echo -e "\033[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>移动新包成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
else
echo -e "\033[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>文件不存在,已退出脚本<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[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 "\033[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>docker build打包成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
else
echo -e "\033[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>docker build打包失败,已退出 脚本<<<<<<<<<<<<<<<<<<<<<<<<< \033[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 "\033[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>上传仓库成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
else
echo -e "\033[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>上传失败,已退出脚本<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[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 "\033[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile成功<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
else
echo -e "\033[31m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>修改dockerfile失败<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"
exit 255
fi
echo -e "\033[32m >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>请到阿里云修改版本号<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \033[0m"

标签:脚本,dl,name,echo,033,Docker,32m,打包,servicen
From: https://blog.51cto.com/u_13555423/5748998

相关文章

  • ubuntu 开机自启动jar,同时监控端口好,服务崩溃自动重启,编写sh脚本
    1.编写sh脚本用于开机自启动个在这个模块中注意:java环境一定要写!!!!我其中没有写java环境,发现没有启动成功root@hfxyai-OptiPlex-5000-China-HDD-Protection:/home/serve......
  • Docker | 数据持久化与数据共享
    数据持久化(安装MySQL)参考另一篇Docker安装mysql:https://www.cnblogs.com/all-smile/p/16778376.htmlMySQL的数据持久化问题#下载容器dockerpullmysql:5.7-d后......
  • 记录 UE5 Cook Content 和 Package Project 无法打包/卡住的问题解决过程
    在UE工程打包为二进制的时候,我遇到了无法打包的情况,并且没有显示打包失败,而是一直卡住不动,日志一直不更新。我尝试了3个行为,前2个并没有真正解决问题,但到第3个行......
  • 两个或多个docker容器之间通过名字相互访问
    前言需要部署的项目中有数据库和Tomcat,Tomcat需要连接到数据库容器的3306端口上,由于容器的IP地址会变化,又不能写死IP地址,所以就有了下文。docker网卡介绍docker......
  • dockerfile
    dockerbuild命令后"."这里的.号代表什么意思呢?Docker在运行时分为Docker引擎(服务端守护进程)以及客户端工具,我们日常使用各种docker命令,其实就是在使用客户端工......
  • IDEA 使用 Docker 插件,实现一键自动化部署
    一、docker开启远程连接访问​首先我们要开启docker的远程连接访问。保证不是docker所在的服务器,也能够远程访问docker。Linux版的docker:修改docker.service文件,添加监听......
  • docker和Namespace技术介绍
    一、docker介绍Docker是基于linux内核实现,Docker最早采用LXC技术(LinuXContainer的简写,LXC是Linux原生支持的容器技术,可以提供轻量级的虚拟化,可以说d......
  • install docker
    title:installdockerHowtoinstalldockerbyyum.yuminstallyum-utils-yyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker......
  • 2022-08-23-docker
    title:installdockerHowtoinstalldockerbyyum.yuminstallyum-utils-yyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker......
  • Docker学习(四)
    容器卷记得加入参数:--privileged=trueDocker挂载主机目录访问如果出现cannotopendirectory.:Permissiondenied解决办法:在挂载目录后多加一个--privileged=true参数即......