源修改
This commit is contained in:
88
build.sh
88
build.sh
@@ -335,11 +335,15 @@ save_image() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# ================================================
|
# ================================================
|
||||||
# 主流程控制
|
# 主流程控制(函数化)
|
||||||
# ================================================
|
# ================================================
|
||||||
|
|
||||||
# Git更新(可选)
|
git_update_if_needed() {
|
||||||
if [ "${DO_BUILD}" = true ]; then
|
# Git更新(可选)
|
||||||
|
if [ "${DO_BUILD}" != true ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
log_step "Git Pull"
|
log_step "Git Pull"
|
||||||
cd "${PROJECT_ROOT}"
|
cd "${PROJECT_ROOT}"
|
||||||
|
|
||||||
@@ -356,22 +360,31 @@ if [ "${DO_BUILD}" = true ]; then
|
|||||||
git pull origin main 2>/dev/null || git pull origin master 2>/dev/null || true
|
git pull origin main 2>/dev/null || git pull origin master 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
}
|
||||||
|
|
||||||
|
run_compile() {
|
||||||
|
# 执行编译
|
||||||
|
if [ "${DO_BUILD}" != true ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
# 执行编译
|
|
||||||
if [ "${DO_BUILD}" = true ]; then
|
|
||||||
case ${BUILD_TARGET} in
|
case ${BUILD_TARGET} in
|
||||||
serv|all)
|
serv)
|
||||||
|
compile_serv
|
||||||
|
;;
|
||||||
|
web)
|
||||||
|
compile_web
|
||||||
|
;;
|
||||||
|
all)
|
||||||
compile_serv
|
compile_serv
|
||||||
;& # fallthrough
|
|
||||||
web|all)
|
|
||||||
compile_web
|
compile_web
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
}
|
||||||
|
|
||||||
# 执行镜像构建
|
run_build_images() {
|
||||||
case ${BUILD_TARGET} in
|
# 执行镜像构建
|
||||||
|
case ${BUILD_TARGET} in
|
||||||
base-serv)
|
base-serv)
|
||||||
build_base_serv
|
build_base_serv
|
||||||
;;
|
;;
|
||||||
@@ -404,25 +417,40 @@ case ${BUILD_TARGET} in
|
|||||||
echo " - Web基于官方Node镜像 node:20-alpine,无需base-web"
|
echo " - Web基于官方Node镜像 node:20-alpine,无需base-web"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
# 查看镜像信息
|
show_images_info() {
|
||||||
log_info "Docker镜像列表:"
|
# 查看镜像信息
|
||||||
docker images | grep -E "school-news-" | head -15
|
log_info "Docker镜像列表:"
|
||||||
echo ""
|
docker images | grep -E "school-news-" | head -15
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
# 保存镜像
|
print_summary() {
|
||||||
if [ "${DO_SAVE}" = true ]; then
|
# 构建完成
|
||||||
|
echo "=========================================="
|
||||||
|
log_info "✅ 构建完成!"
|
||||||
|
echo "=========================================="
|
||||||
|
log_info "构建目标: ${BUILD_TARGET}"
|
||||||
|
log_info "构建版本: ${IMAGE_VERSION}"
|
||||||
|
log_info "输出目录: ${BUILD_OUTPUT}"
|
||||||
|
echo "=========================================="
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
git_update_if_needed
|
||||||
|
run_compile
|
||||||
|
run_build_images
|
||||||
|
show_images_info
|
||||||
|
|
||||||
|
# 保存镜像(可选)
|
||||||
|
if [ "${DO_SAVE}" = true ]; then
|
||||||
save_images
|
save_images
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
print_summary
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
||||||
|
|
||||||
# ================================================
|
|
||||||
# 构建完成
|
|
||||||
# ================================================
|
|
||||||
echo "=========================================="
|
|
||||||
log_info "✅ 构建完成!"
|
|
||||||
echo "=========================================="
|
|
||||||
log_info "构建目标: ${BUILD_TARGET}"
|
|
||||||
log_info "构建版本: ${IMAGE_VERSION}"
|
|
||||||
log_info "输出目录: ${BUILD_OUTPUT}"
|
|
||||||
echo "=========================================="
|
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ COPY schoolNewsCrawler/requirements.txt /tmp/requirements.txt
|
|||||||
RUN echo "========================================" && \
|
RUN echo "========================================" && \
|
||||||
echo "安装Python爬虫依赖到基础镜像" && \
|
echo "安装Python爬虫依赖到基础镜像" && \
|
||||||
echo "========================================" && \
|
echo "========================================" && \
|
||||||
|
# 配置pip使用国内镜像源(清华源)
|
||||||
|
python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
|
||||||
python3 -m pip --version && \
|
python3 -m pip --version && \
|
||||||
echo "" && \
|
echo "" && \
|
||||||
# Python 3.12 引入了 PEP 668 规范,需要添加 --break-system-packages
|
# Python 3.12 引入了 PEP 668 规范,需要添加 --break-system-packages
|
||||||
|
|||||||
@@ -9,8 +9,10 @@ FROM node:20-alpine
|
|||||||
ENV TZ=Asia/Shanghai \
|
ENV TZ=Asia/Shanghai \
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
# 安装基础工具
|
# 配置国内镜像源并安装基础工具
|
||||||
RUN apk add --no-cache tzdata bash curl && \
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
|
||||||
|
apk update && \
|
||||||
|
apk add --no-cache tzdata bash curl && \
|
||||||
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
||||||
echo "Asia/Shanghai" > /etc/timezone
|
echo "Asia/Shanghai" > /etc/timezone
|
||||||
|
|
||||||
@@ -24,7 +26,8 @@ RUN mkdir -p /app/dist /app/config /app/logs
|
|||||||
COPY schoolNewsWeb/package*.json ./
|
COPY schoolNewsWeb/package*.json ./
|
||||||
|
|
||||||
# 安装生产依赖(包括vite用于preview)
|
# 安装生产依赖(包括vite用于preview)
|
||||||
RUN npm ci --only=production && \
|
RUN npm config set registry https://registry.npmmirror.com && \
|
||||||
|
npm ci --only=production && \
|
||||||
npm install -g vite
|
npm install -g vite
|
||||||
|
|
||||||
# 从主机复制已构建的dist目录
|
# 从主机复制已构建的dist目录
|
||||||
|
|||||||
Reference in New Issue
Block a user