#!/bin/bash
# 使用说明
# 1. 同目录下新建 config.txt 以保存腾讯云容器镜像访问密码,本文件不要提交到 git
#    密码和腾讯云账号ID在 https://console.cloud.tencent.com/tke2/registry/user?rid=1
# 2. 修改以下三行参数
    namespace='ydniu' #腾讯云镜像仓库命名空间
    imageName='service-scoket' #镜像名称
    dockerfilePash='./Dockerfile' #指定当前根目录下构建的Dockerfile文件 例如: ./Dockerfile
# 3. 执行构建推送镜像命令
#     sh 文件名称.sh 例如: sh h5-graphiql.sh    版本号默认为 年月日时分秒
#     sh 文件名称.sh 版本号 例如: sh h5-graphiql.sh v1 版本号例如: 20210902v1
# -----------------------------------------------
cloudId='line1'
passWord='line2'
version=`date '+%Y%m%d'` #镜像版本号, 默认当前年月日+ 参数
if  [ ! -n "$1" ] ;then
    version=`date '+%Y%m%d%H%M%S'`
else
    version+=$1
fi
imageId=ccr.ccs.tencentyun.com/$namespace/$imageName:$version
echo "读取配置"
cat config.txt | while read line1 line2; 
do
cloudId=$line1 #镜像仓库账号ID
passWord=$line2 #镜像仓库登陆密码
done
echo "1. 开始拉取最新代码!"
npm config set registry https://registry.npm.taobao.org
git pull
echo "2. 准备构建镜像..."
docker build -f $dockerfilePash --platform linux/amd64 -t $imageId . 
echo "3. 构建成功!"
echo "4. 准备登录到云仓库..."
docker login --username=$cloudId --password=$passWord ccr.ccs.tencentyun.com
echo "5. 准备上传镜像到云仓库..."
docker push $imageId
echo "6. 上传成功!"
echo "7. 删除本地原有镜像..."
docker rmi $imageId
echo "8. 一切OK..."
exit;