build连续build save
This commit is contained in:
44
build.sh
44
build.sh
@@ -23,18 +23,20 @@
|
||||
#
|
||||
# 选项(options):
|
||||
# build - 编译代码(serv和web需要)
|
||||
# save - 保存镜像到tar文件(需要指定version)
|
||||
# save - 保存镜像到tar文件(配合build自动保存构建版本)
|
||||
# save=YYYYMMDD_HHMMSS - 保存指定版本的镜像
|
||||
#
|
||||
# 版本(version):
|
||||
# save=YYYYMMDD_HHMMSS - 指定要保存的镜像版本
|
||||
# 不指定则使用当前构建的版本
|
||||
# 保存规则:
|
||||
# - build save → 自动保存刚构建的版本(推荐)
|
||||
# - save=20251124_xxx → 保存指定版本(必须已存在)
|
||||
# - 只使用save → 报错,必须指定版本
|
||||
#
|
||||
# 示例:
|
||||
# ./build.sh base-all # 构建所有基础镜像
|
||||
# ./build.sh serv build save # 编译后端+构建镜像+保存当前版本
|
||||
# ./build.sh serv build save # 编译+构建+保存(自动使用构建版本)✅
|
||||
# ./build.sh all build save # 完整构建流程
|
||||
# ./build.sh serv save=20251124_143025 # 保存指定版本的镜像
|
||||
# ./build.sh all build save=20251124_150000 # 构建并保存为指定版本
|
||||
# ./build.sh serv save=20251124_143025 # 保存已存在的指定版本
|
||||
# ./build.sh serv save # ❌ 错误:必须指定版本
|
||||
##############################################
|
||||
|
||||
set -e # 遇到错误立即退出
|
||||
@@ -98,9 +100,27 @@ for arg in "$@"; do
|
||||
esac
|
||||
done
|
||||
|
||||
# 如果save时没有指定版本,使用当前时间戳
|
||||
if [ "${DO_SAVE}" = true ] && [ -z "${SAVE_VERSION}" ]; then
|
||||
# 确定保存版本
|
||||
if [ "${DO_SAVE}" = true ]; then
|
||||
if [ -z "${SAVE_VERSION}" ]; then
|
||||
if [ "${DO_BUILD}" = true ]; then
|
||||
# 如果有build参数,保存刚构建的版本
|
||||
SAVE_VERSION="${IMAGE_VERSION}"
|
||||
else
|
||||
# 如果没有build参数且未指定版本,提示错误
|
||||
echo ""
|
||||
log_error "❌ 错误:只使用save时必须指定版本"
|
||||
echo ""
|
||||
echo "正确用法:"
|
||||
echo " 1. 保存指定版本: ./build.sh ${BUILD_TARGET} save=20251124_143025"
|
||||
echo " 2. 构建并保存: ./build.sh ${BUILD_TARGET} build save"
|
||||
echo ""
|
||||
echo "查看可用版本:"
|
||||
echo " docker images | grep school-news"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "=========================================="
|
||||
@@ -111,7 +131,11 @@ log_info "构建版本: ${IMAGE_VERSION}"
|
||||
log_info "编译代码: ${DO_BUILD}"
|
||||
log_info "保存镜像: ${DO_SAVE}"
|
||||
if [ "${DO_SAVE}" = true ]; then
|
||||
log_info "保存版本: ${SAVE_VERSION}"
|
||||
if [ "${DO_BUILD}" = true ]; then
|
||||
log_info "保存版本: ${SAVE_VERSION} (自动使用构建版本)"
|
||||
else
|
||||
log_info "保存版本: ${SAVE_VERSION} (指定版本)"
|
||||
fi
|
||||
fi
|
||||
log_info "项目路径: ${PROJECT_ROOT}"
|
||||
echo "=========================================="
|
||||
|
||||
Reference in New Issue
Block a user