- 开辟一个工作目录用于存放脚本和tar包
- 给脚本设置执行权限
- 运行脚本
脚本:
#!/bin/bash
# 加载镜像
current=$(docker load -i $1)
echo "load image $1 success!"
# 切割加载镜像结果,获取当前镜像的tag
result_array=(${current// / })
current_tag=${result_array[2]}
#echo $current_tag
# 切割tag,获取服务名,先按照最后一个 / 向后切
service_name_1=(${current_tag##*/})
#echo $service_name_1
# 再按照:向前面切
service_name=(${service_name_1%%:*})
echo "service name is $service_name"
target_tag=$(cat /admin/businessApp/business-type/whale-component/$service_name/deploy/$service_name.yml | grep "image:" | awk '{print $2}'|sed -n '$p')
docker tag $current_tag $target_tag
echo "modify image tag to $target_tag success!"
kubectl delete -f "/admin/businessApp/business-type/whale-component/$service_name/deploy/$service_name.yml"
kubectl apply -f "/admin/businessApp/business-type/whale-component/$service_name/deploy/$service_name.yml"
解释命令
current=$(docker load -i $1)
# echo $(docker load -i whale-event-task.tar)
# Loaded image: registry.whale.io:5888/whale-component/whale-event-task:COC1.1.1
# 切割加载镜像结果,获取当前镜像的tag
result_array=(${current// / })
current_tag=${result_array[2]}
#echo $current_tag
# 切割tag,获取服务名,先按照最后一个 / 向后切
service_name_1=(${current_tag##*/})
#echo $service_name_1
# 再按照:向前面切
service_name=(${service_name_1%%:*})
echo "service name is $service_name"
target_tag=$(cat /admin/businessApp/business-type/whale-component/$service_name/deploy/$service_name.yml | grep "image:" | awk '{print $2}'|sed -n '$p')
docker tag $current_tag $target_tag
echo "modify image tag to $target_tag success!"
kubectl delete -f "/admin/businessApp/business-type/whale-component/$service_name/deploy/$service_name.yml"
kubectl apply -f "/admin/businessApp/business-type/whale-component/$service_name/deploy/$service_name.yml"