打包修改
This commit is contained in:
29
build.sh
29
build.sh
@@ -24,20 +24,22 @@
|
||||
#
|
||||
# 选项(options):
|
||||
# build - 编译代码(serv和web需要)
|
||||
# save - 保存镜像到tar文件(配合build自动保存构建版本)
|
||||
# save - 保存镜像到tar文件(默认使用带时间戳的版本名)
|
||||
# save=latest - 保存为latest版本
|
||||
# save=YYYYMMDD_HHMMSS - 保存指定版本的镜像
|
||||
#
|
||||
# 保存规则:
|
||||
# - build save → 自动保存刚构建的版本(推荐)
|
||||
# - save=20251124_xxx → 保存指定版本(必须已存在)
|
||||
# - 只使用save → 报错,必须指定版本
|
||||
# - save → 保存为当前时间戳版本(默认,推荐)✅
|
||||
# - build save → 编译+构建+保存为构建时间戳版本 ✅
|
||||
# - save=latest → 保存为latest版本
|
||||
# - save=20251124_xxx → 保存为指定版本
|
||||
#
|
||||
# 示例:
|
||||
# ./build.sh base-all # 构建所有基础镜像
|
||||
# ./build.sh serv build save # 编译+构建+保存(自动使用构建版本)✅
|
||||
# ./build.sh all build save # 完整构建流程
|
||||
# ./build.sh serv save=20251124_143025 # 保存已存在的指定版本
|
||||
# ./build.sh serv save # ❌ 错误:必须指定版本
|
||||
# ./build.sh serv build save # 编译+构建+保存(使用构建时间戳)✅
|
||||
# ./build.sh all save # 保存当前时间戳版本(默认)✅
|
||||
# ./build.sh serv save=latest # 保存为latest版本
|
||||
# ./build.sh serv save=20251124_143025 # 保存为指定版本
|
||||
##############################################
|
||||
|
||||
set -e # 遇到错误立即退出
|
||||
@@ -104,7 +106,8 @@ done
|
||||
# 确定保存版本
|
||||
if [ "${DO_SAVE}" = true ]; then
|
||||
if [ -z "${SAVE_VERSION}" ]; then
|
||||
SAVE_VERSION="latest"
|
||||
# 默认使用带时间戳的版本,除非明确指定 save=latest
|
||||
SAVE_VERSION="${IMAGE_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -116,7 +119,13 @@ log_info "构建版本: ${IMAGE_VERSION}"
|
||||
log_info "编译代码: ${DO_BUILD}"
|
||||
log_info "保存镜像: ${DO_SAVE}"
|
||||
if [ "${DO_SAVE}" = true ]; then
|
||||
log_info "保存版本: ${SAVE_VERSION}"
|
||||
if [ "${SAVE_VERSION}" = "latest" ]; then
|
||||
log_info "保存版本: ${SAVE_VERSION} (明确指定)"
|
||||
elif [ "${DO_BUILD}" = false ]; then
|
||||
log_info "保存版本: ${SAVE_VERSION} (默认带时间戳)"
|
||||
else
|
||||
log_info "保存版本: ${SAVE_VERSION} (构建版本)"
|
||||
fi
|
||||
fi
|
||||
log_info "项目路径: ${PROJECT_ROOT}"
|
||||
echo "=========================================="
|
||||
|
||||
22
doc/部署.md
22
doc/部署.md
@@ -26,8 +26,26 @@
|
||||
|
||||
#### 镜像加载
|
||||
```bash
|
||||
# 递归查找指定目录下的所有镜像文件并加载
|
||||
find .docker/schoolNews/images -type f \( -name "*.tar" -o -name "*.tar.gz" -o -name "*.tgz" \) -exec docker load -i {} \;
|
||||
# 递归查找指定目录下的所有镜像文件并加载 schoolNews修改镜像增加标签latest用于docker compose启动
|
||||
|
||||
find .docker/schoolNews/images -type f \( -name "*.tar" -o -name "*.tar.gz" -o -name "*.tgz" \) -exec sh -c '
|
||||
docker load -i "$1"
|
||||
# 获取刚导入的镜像名称和标签
|
||||
IMAGE_INFO=$(docker images --format "{{.Repository}}:{{.Tag}}" | tail -n1)
|
||||
if [ -n "$IMAGE_INFO" ]; then
|
||||
# 分离仓库名和标签
|
||||
REPO=$(echo "$IMAGE_INFO" | cut -d: -f1)
|
||||
TAG=$(echo "$IMAGE_INFO" | cut -d: -f2)
|
||||
# 只有当标签不是 latest 时才添加新标签
|
||||
if [ "$TAG" != "latest" ]; then
|
||||
docker tag "$IMAGE_INFO" "$REPO:latest"
|
||||
echo "Tagged $IMAGE_INFO as $REPO:latest"
|
||||
fi
|
||||
fi
|
||||
' sh {} \;
|
||||
|
||||
# 单独镜像加标签
|
||||
docker tag school-news-xxx:yyyyMMdd_HHmmss school-news-xxx:latest
|
||||
```
|
||||
|
||||
#### 服务启动
|
||||
|
||||
Reference in New Issue
Block a user