2025-05-15 13:40:19 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# 加载环境变量
|
|
|
|
|
|
source ../environment.sh
|
|
|
|
|
|
|
|
|
|
|
|
# 设置Nginx镜像名称(如果环境变量中未定义)
|
|
|
|
|
|
if [ -z "${NGINX_IMAGE}" ]; then
|
|
|
|
|
|
export NGINX_IMAGE="${REGISTRY_HOST}nginx:${DOMAIN}"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo "开始构建Nginx镜像: ${NGINX_IMAGE}"
|
|
|
|
|
|
|
|
|
|
|
|
# 检查临时目录是否存在
|
|
|
|
|
|
TEMP_DIR="temp_vhosts"
|
|
|
|
|
|
if [ ! -d "$TEMP_DIR" ]; then
|
|
|
|
|
|
echo "错误: $TEMP_DIR 目录不存在! 请先运行 replace_vars.sh 脚本"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 检查临时目录中是否有配置文件
|
|
|
|
|
|
if [ -z "$(ls -A $TEMP_DIR)" ]; then
|
|
|
|
|
|
echo "警告: $TEMP_DIR 目录为空,将使用空配置构建镜像"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-05-15 14:21:50 +08:00
|
|
|
|
# 检查SSL证书文件是否存在
|
|
|
|
|
|
if [ ! -f "vhosts/cert/t-aaron.com.pem" ] || [ ! -f "vhosts/cert/t-aaron.com.key" ]; then
|
|
|
|
|
|
echo "警告: SSL证书文件不存在于vhosts/cert/目录中"
|
|
|
|
|
|
echo "预期的证书文件位置: vhosts/cert/t-aaron.com.pem 和 vhosts/cert/t-aaron.com.key"
|
|
|
|
|
|
echo "Nginx容器的SSL功能可能无法正常工作"
|
|
|
|
|
|
fi
|
2025-05-15 13:40:19 +08:00
|
|
|
|
|
2025-05-16 17:08:03 +08:00
|
|
|
|
# 检查 AIRPORT_WEB_DIST 目录是否存在
|
|
|
|
|
|
if [ -z "${AIRPORT_WEB_DIST}" ]; then
|
|
|
|
|
|
echo "错误: AIRPORT_WEB_DIST 环境变量未设置!"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -d "${AIRPORT_WEB_DIST}" ]; then
|
|
|
|
|
|
echo "错误: AIRPORT_WEB_DIST 目录不存在: ${AIRPORT_WEB_DIST}"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-05-23 09:12:07 +08:00
|
|
|
|
if [ ! -d "${HHZ_ADMIN_WEB_DIST}" ]; then
|
|
|
|
|
|
echo "错误: HHZ_ADMIN_WEB_DIST 目录不存在: ${HHZ_ADMIN_WEB_DIST}"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-05-27 14:31:13 +08:00
|
|
|
|
# 每增加一个前端项目,需要在这里添加一个临时目录,并复制文件;Dockerfile.nginx 中也要添加一个COPY命令
|
2025-05-16 17:08:03 +08:00
|
|
|
|
echo "创建临时目录并复制 AIRPORT_WEB_DIST 文件..."
|
|
|
|
|
|
rm -rf airport_web_dist
|
|
|
|
|
|
mkdir -p airport_web_dist
|
|
|
|
|
|
cp -r "${AIRPORT_WEB_DIST}"/* airport_web_dist/
|
|
|
|
|
|
|
2025-06-14 12:00:35 +08:00
|
|
|
|
echo ${AIRPORT_WEB_DIST}
|
|
|
|
|
|
ls ${AIRPORT_WEB_DIST}
|
|
|
|
|
|
|
2025-05-22 16:41:04 +08:00
|
|
|
|
rm -rf hhz_admin_web_dist
|
|
|
|
|
|
mkdir -p hhz_admin_web_dist
|
|
|
|
|
|
cp -r "${HHZ_ADMIN_WEB_DIST}"/* hhz_admin_web_dist/
|
|
|
|
|
|
|
2025-06-14 12:00:35 +08:00
|
|
|
|
echo ${HHZ_ADMIN_WEB_DIST}
|
|
|
|
|
|
ls ${HHZ_ADMIN_WEB_DIST}
|
|
|
|
|
|
|
2025-05-27 14:31:13 +08:00
|
|
|
|
rm -rf business_web_dist
|
|
|
|
|
|
mkdir -p business_web_dist
|
|
|
|
|
|
cp -r "${BUSINESS_WEB_DIST}"/* business_web_dist/
|
|
|
|
|
|
|
2025-06-14 12:00:35 +08:00
|
|
|
|
echo ${BUSINESS_WEB_DIST}
|
|
|
|
|
|
ls ${BUSINESS_WEB_DIST}
|
|
|
|
|
|
|
2025-06-14 11:41:29 +08:00
|
|
|
|
rm -rf oidc_web_dist
|
|
|
|
|
|
mkdir -p oidc_web_dist
|
|
|
|
|
|
cp -r "${OIDC_WEB_DIST}"/* oidc_web_dist/
|
2025-05-27 14:31:13 +08:00
|
|
|
|
|
2025-06-14 12:00:35 +08:00
|
|
|
|
echo ${OIDC_WEB_DIST}
|
|
|
|
|
|
ls ${OIDC_WEB_DIST}
|
|
|
|
|
|
|
2025-05-15 13:40:19 +08:00
|
|
|
|
# 构建Docker镜像
|
2025-05-15 14:21:50 +08:00
|
|
|
|
echo "使用Dockerfile.nginx构建镜像..."
|
|
|
|
|
|
docker build -t ${NGINX_IMAGE} -f Dockerfile.nginx .
|
2025-05-15 13:40:19 +08:00
|
|
|
|
|
2025-05-16 17:08:03 +08:00
|
|
|
|
# 清理临时目录
|
|
|
|
|
|
rm -rf airport_web_dist
|
2025-05-23 09:12:07 +08:00
|
|
|
|
rm -rf hhz_admin_web_dist
|
2025-05-16 17:08:03 +08:00
|
|
|
|
|
2025-05-15 13:40:19 +08:00
|
|
|
|
# 检查构建结果
|
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
|
echo "Nginx镜像构建成功: ${NGINX_IMAGE}"
|
|
|
|
|
|
|
|
|
|
|
|
# 推送到镜像仓库(如果需要)
|
|
|
|
|
|
echo "推送镜像到仓库: ${NGINX_IMAGE}"
|
|
|
|
|
|
docker push ${NGINX_IMAGE}
|
|
|
|
|
|
|
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
|
echo "镜像推送成功!"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "警告: 镜像推送失败!"
|
|
|
|
|
|
fi
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "错误: Nginx镜像构建失败!"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-05-15 14:21:50 +08:00
|
|
|
|
echo "Nginx镜像构建和推送完成!"
|
2025-05-16 17:08:03 +08:00
|
|
|
|
echo "SSL证书已被包含在镜像中,位于/etc/nginx/目录下"
|
|
|
|
|
|
echo "AIRPORT_WEB_DIST 文件已被复制到镜像中的 /data/tuoheng_airport_web/dist 目录"
|