generated from duanshuwen/webapp-vue-frontend
添加docker打包相关脚本
This commit is contained in:
33
entrypoint.sh
Normal file
33
entrypoint.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
# 优先使用环境变量 API_TARGET,否则从构建时提取的文件读取 VITE_BASE_API
|
||||
API_TARGET=${API_TARGET:-""}
|
||||
|
||||
if [ -z "$API_TARGET" ] && [ -f /etc/nginx/.api_target ]; then
|
||||
API_TARGET=$(cat /etc/nginx/.api_target | tr -d '\r')
|
||||
fi
|
||||
|
||||
CONF_FILE="/etc/nginx/conf.d/default.conf"
|
||||
|
||||
if [ -n "$API_TARGET" ]; then
|
||||
# 提取路径部分(去掉协议和域名)
|
||||
API_NO_PROTO=$(echo "$API_TARGET" | sed 's|^https\?://||')
|
||||
API_PATH=$(echo "$API_NO_PROTO" | sed 's|^[^/]*||')
|
||||
|
||||
# 如果路径为空,默认 /api
|
||||
if [ -z "$API_PATH" ] || [ "$API_PATH" = "/" ]; then
|
||||
API_PATH="/api"
|
||||
fi
|
||||
|
||||
# 确保 proxy_pass 末尾有 /
|
||||
API_TARGET_SLASH="${API_TARGET%/}/"
|
||||
|
||||
# 替换 nginx 配置占位符
|
||||
sed -i "s|@@API_LOCATION@@|${API_PATH}/|g" "$CONF_FILE"
|
||||
sed -i "s|@@API_TARGET@@|${API_TARGET_SLASH}|g" "$CONF_FILE"
|
||||
else
|
||||
# 没有 API 目标,移除代理配置块
|
||||
sed -i '/# BEGIN_API_PROXY/,/# END_API_PROXY/d' "$CONF_FILE"
|
||||
fi
|
||||
|
||||
nginx -g "daemon off;"
|
||||
Reference in New Issue
Block a user