- 新增 BUILD_TIMEOUT_HOURS 配置,超时自动标记失败 - 日志保存到独立 backend/logs/ 目录,不随构建目录删除 - 新增任务删除 API 及前端删除按钮 - 构建流程增加 pod install 步骤 - 通过文件传递配置避免命令行参数截断 - Provisioning Profile 支持按名称搜索 - dSYM 下载支持目录打包为 zip - 前端端口可配置、历史页增加下载列和耗时显示 - 日志弹窗支持展开/收起详细日志 - 自动生成 upload_key 标识
59 lines
1.2 KiB
Bash
Executable File
59 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# 一键启动本地开发环境(后端 + 前端)
|
|
# 用法: ./start.sh
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# 加载 .env
|
|
if [ -f .env ]; then
|
|
set -a; source .env; set +a
|
|
fi
|
|
|
|
PORT="${BACKEND_PORT:-8000}"
|
|
FRONTEND_PORT="${FRONTEND_PORT:-3000}"
|
|
|
|
# 确保 .env 存在
|
|
if [ ! -f .env ]; then
|
|
echo "首次运行,创建 .env 配置文件..."
|
|
cp .env.example .env
|
|
fi
|
|
|
|
# 确保后端依赖
|
|
if [ ! -d ".venv" ]; then
|
|
echo "创建 Python 虚拟环境..."
|
|
python3 -m venv .venv
|
|
fi
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt -q
|
|
|
|
# 确保前端依赖
|
|
if [ ! -d "frontend/node_modules" ]; then
|
|
echo "安装前端依赖..."
|
|
cd frontend && npm install --silent && cd ..
|
|
fi
|
|
|
|
echo "=== iOS 自动打包服务(开发模式)==="
|
|
echo " 前端: http://localhost:$FRONTEND_PORT"
|
|
echo " 后端: http://localhost:$PORT"
|
|
echo " 按 Ctrl+C 停止所有服务"
|
|
echo ""
|
|
|
|
# 清理子进程
|
|
cleanup() {
|
|
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null
|
|
wait $BACKEND_PID $FRONTEND_PID 2>/dev/null
|
|
}
|
|
trap cleanup INT TERM
|
|
|
|
# 启动后端
|
|
python3 -m uvicorn backend.main:app --host 0.0.0.0 --port "$PORT" --reload &
|
|
BACKEND_PID=$!
|
|
|
|
# 启动前端
|
|
cd frontend && npm run dev &
|
|
FRONTEND_PID=$!
|
|
cd "$SCRIPT_DIR"
|
|
|
|
wait
|