add
This commit is contained in:
42
deploy/api/api_gateway/release.sh
Executable file
42
deploy/api/api_gateway/release.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
set -e # 当任何命令失败时立即退出脚本
|
||||
|
||||
# 定义镜像名称和标签
|
||||
IMAGE_NAME="user-gateway-api"
|
||||
IMAGE_TAG="1.0.0"
|
||||
FULL_IMAGE="${IMAGE_NAME}:${IMAGE_TAG}"
|
||||
TAR_FILE="${IMAGE_NAME}-${IMAGE_TAG}.tar"
|
||||
|
||||
echo "开始删除现有镜像 ${FULL_IMAGE}..."
|
||||
if sudo docker rmi -f "${FULL_IMAGE}" >/dev/null 2>&1; then
|
||||
echo "镜像 ${FULL_IMAGE} 删除成功"
|
||||
else
|
||||
echo "镜像 ${FULL_IMAGE} 不存在,跳过删除步骤"
|
||||
fi
|
||||
|
||||
echo "开始构建新镜像 ${FULL_IMAGE}..."
|
||||
if sudo docker build -t "${FULL_IMAGE}" .; then
|
||||
echo "镜像 ${FULL_IMAGE} 构建成功!"
|
||||
else
|
||||
echo "错误:镜像构建失败" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "开始处理镜像压缩包..."
|
||||
# 如果存在同名压缩包则删除
|
||||
if [ -f "${TAR_FILE}" ]; then
|
||||
echo "发现现有压缩包 ${TAR_FILE},正在删除..."
|
||||
rm -f "${TAR_FILE}"
|
||||
fi
|
||||
|
||||
# 打包镜像为tar文件
|
||||
echo "开始将镜像 ${FULL_IMAGE} 打包为 ${TAR_FILE}..."
|
||||
if sudo docker save -o "${TAR_FILE}" "${FULL_IMAGE}"; then
|
||||
echo "镜像打包成功!生成文件:${TAR_FILE}"
|
||||
# 添加最高级别的可读写权限
|
||||
sudo chmod 777 "${TAR_FILE}"
|
||||
echo "已为 ${TAR_FILE} 设置最高权限(777)"
|
||||
else
|
||||
echo "错误:镜像打包失败" >&2
|
||||
exit 1
|
||||
fi
|
Reference in New Issue
Block a user