Skip to content

用AI生成了一个一键部署的BAT脚本 希望对有帮 #147

@fgr178707

Description

@fgr178707
点击展开更多信息
@echo off
setlocal enabledelayedexpansion

@REM 获取脚本所在目录,并拼接 SubsTracker 子目录路径
set "PROJECT_DIR=%~dp0SubsTracker"

@REM 检查 SubsTracker 目录是否存在
if not exist "%PROJECT_DIR%" (
    echo 错误:未找到 SubsTracker 目录,预期路径为 "%PROJECT_DIR%"
    pause
    exit /b 1
)

@REM 切换到项目目录
cd /d "%PROJECT_DIR%"
if errorlevel 1 (
    echo 错误:无法进入目录 "%PROJECT_DIR%"
    pause
    exit /b 1
)

echo 当前工作目录:%cd%

@REM 检查是否已设置 Cloudflare API Token
if "%CLOUDFLARE_API_TOKEN%"=="" (
    echo 未检测到 CLOUDFLARE_API_TOKEN 环境变量。
    set /p token="请输入您的 Cloudflare API Token:"
    set "CLOUDFLARE_API_TOKEN=!token!"
) else (
    echo 使用已有的 CLOUDFLARE_API_TOKEN。
)

@REM 如果是 Git 仓库,则拉取最新代码
if exist ".git" (
    echo 正在拉取最新代码...
    git pull
    if errorlevel 1 (
        echo 警告:git pull 执行失败,将继续尝试部署。
    )
) else (
    echo 未找到 .git 目录,跳过拉取步骤。
)

@REM 安装依赖
echo 正在安装依赖(npm install)...
call npm install
if errorlevel 1 (
    echo 错误:npm install 执行失败。
    pause
    exit /b 1
)

@REM 执行安全部署
echo 正在执行安全部署(npm run deploy:safe)...
call npm run deploy:safe
if errorlevel 1 (
    echo 错误:npm run deploy:safe 执行失败。
    pause
    exit /b 1
)

echo 部署成功完成!
pause

使用方法

文件夹
├─ 部署.bat
└─ SubsTracker

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions