优化脚本,变量统一放在头部

This commit is contained in:
jingrow 2025-08-08 05:16:01 +08:00
parent 630e7430d2
commit 9db57a3fcb

View File

@ -11,21 +11,38 @@ YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# 默认参数
# ========================================
# 默认参数配置
# ========================================
# 基础配置
SITE_NAME="jingrow"
GIT_REPO="http://git.jingrow.com:3000/jsite/jingrow"
NODE_VERSION="22"
START_PORT=3001
PORT_INCREMENT=1
# 跳过选项
SKIP_DOCKER=false
SKIP_TRAEFIK=false
SKIP_DEPENDENCIES=false
SKIP_PM2=false
FORCE_UPDATE=false
START_PORT=3001
PUBLIC_IP="" # 新增公网IP参数
# 网络配置
PUBLIC_IP="" # 公网IP地址 (用于内网IP不可用时)
# .env文件参数
SITE_URL="starrbud.com"
REVALIDATE_TOKEN="535bc122f3e364c"
SERVER_URL="https://admin.jingrow.com"
API_KEY="535bc122f3e364c"
API_SECRET="8629a3b12fc1cc2"
# 解析命令行参数
while [[ $# -gt 0 ]]; do
case $1 in
# 基础配置
--site-name)
SITE_NAME="$2"
shift 2
@ -38,6 +55,16 @@ while [[ $# -gt 0 ]]; do
NODE_VERSION="$2"
shift 2
;;
--start-port)
START_PORT="$2"
shift 2
;;
--port-increment)
PORT_INCREMENT="$2"
shift 2
;;
# 跳过选项
--skip-docker)
SKIP_DOCKER=true
shift
@ -58,32 +85,68 @@ while [[ $# -gt 0 ]]; do
FORCE_UPDATE=true
shift
;;
--start-port)
START_PORT="$2"
shift 2
;;
--public-ip) # 新增公网IP参数
# 网络配置
--public-ip)
PUBLIC_IP="$2"
shift 2
;;
# .env文件参数
--site-url)
SITE_URL="$2"
shift 2
;;
--revalidate-token)
REVALIDATE_TOKEN="$2"
shift 2
;;
--server-url)
SERVER_URL="$2"
shift 2
;;
--api-key)
API_KEY="$2"
shift 2
;;
--api-secret)
API_SECRET="$2"
shift 2
;;
# 帮助信息
-h|--help)
echo "用法: $0 [选项]"
echo ""
echo "选项:"
echo "基础配置:"
echo " --site-name NAME 项目名称 (默认: jingrow)"
echo " --git-repo URL Git仓库地址"
echo " --node-version VER Node.js版本 (默认: 22)"
echo " --start-port PORT 起始端口 (默认: 3001)"
echo " --port-increment INC 端口增量 (默认: 1)"
echo ""
echo "跳过选项:"
echo " --skip-docker 跳过Docker安装"
echo " --skip-traefik 跳过Traefik安装"
echo " --skip-dependencies 跳过依赖安装"
echo " --skip-pm2 跳过PM2安装"
echo " --force-update 强制更新所有文件"
echo " --start-port PORT 起始端口 (默认: 3001)"
echo ""
echo "网络配置:"
echo " --public-ip IP 公网IP地址 (用于内网IP不可用时)"
echo ""
echo ".env文件配置:"
echo " --site-url URL 网站URL (默认: starrbud.com)"
echo " --revalidate-token TK 重新验证令牌"
echo " --server-url URL 服务器URL (默认: https://admin.jingrow.com)"
echo " --api-key KEY API密钥"
echo " --api-secret SECRET API密钥"
echo ""
echo " -h, --help 显示此帮助信息"
echo ""
echo "示例:"
echo " $0 --site-name myproject --public-ip 8.217.167.199"
echo " $0 --site-url example.com --api-key mykey123"
echo " $0 --force-update --public-ip 203.0.113.1"
exit 0
;;
@ -120,16 +183,6 @@ export DEBCONF_NONINTERACTIVE_SEEN=true
export UCF_FORCE_CONFNEW=1
export UCF_FORCE_CONFOLD=1
# 端口管理参数
PORT_INCREMENT=1
# .env文件参数
SITE_URL="starrbud.com"
REVALIDATE_TOKEN="535bc122f3e364c"
SERVER_URL="https://admin.jingrow.com"
API_KEY="535bc122f3e364c"
API_SECRET="8629a3b12fc1cc2"
# 日志函数
log_info() {
echo -e "${BLUE}[INFO]${NC} $1"
@ -522,12 +575,16 @@ create_env_file() {
# 创建.env文件
cat > "/home/jingrow/jsite/$SITE_NAME/.env" << EOF
# 网站配置
PUBLIC_SITE_URL=$public_site_url
# 重新验证令牌
REVALIDATE_TOKEN=$REVALIDATE_TOKEN
# 项目配置
JINGROW_SITE_NAME=$SITE_NAME
# 服务器配置
JINGROW_SERVER_URL=$SERVER_URL
JINGROW_API_KEY=$API_KEY
JINGROW_API_SECRET=$API_SECRET