# autoBuild **Repository Path**: apoo/auto-build ## Basic Information - **Project Name**: autoBuild - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-24 - **Last Updated**: 2025-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutoBuild Monorepo ## 启动后端(从项目根目录) PowerShell: ```powershell cd C:\Users\10265\Desktop\autoBuild\project # 首次安装依赖(可选,但推荐在本地虚拟环境中安装) if (-not (Test-Path .\server\.venv)) { python -m venv .\server\.venv } .\n+\server\.venv\Scripts\Activate.ps1 pip install -r .\server\requirements.txt # 启动后端(FastAPI + Uvicorn;失败则自动回退到 simple_server.py) # AutoBuild Monorepo 这是一个包含前端(Vue 3 + Vite)和后端(FastAPI)的示例 monorepo。 下面说明如何配置与运行后端、如何设置数据库连接(使用环境变量或 `.env`),以及如何运行测试。 --- ## 后端(server)- 快速启动 建议在 `server` 目录使用 Python 虚拟环境并安装依赖。 PowerShell 示例: ```powershell cd C:\Users\admin\Desktop\auto-build\server # 首次创建虚拟环境(如果还没有) python -m venv .venv # 激活虚拟环境 .\.venv\Scripts\Activate.ps1 # 安装依赖 pip install -r requirements.txt # 启动后端(默认使用 FastAPI + Uvicorn;脚本 run_server.ps1 会在失败时回退到 simple_server.py) ./run_server.ps1 -Port 8000 ``` 后端将运行在 `http://127.0.0.1:8000`。 ## 前端(client) 要求:已安装 Node.js 18+ ```powershell cd client npm install npm run dev ``` 前端默认运行在 `http://127.0.0.1:5173`,开发模式下会代理 `/api/*` 到后端。 --- ## 数据库配置(DATABASE_URL / .env) 后端现在会从环境变量 `DATABASE_URL` 读取数据库连接字符串;如果未设置则回退到默认本地 SQLite文件:`sqlite:///./db/autobuild.db`。 为了方便开发,你可以在 `server` 目录下创建(或编辑)一个 `.env` 文件: 示例 `server/.env`: ```text # SQLite(默认,可留空或写出): # DATABASE_URL=sqlite:///./db/autobuild.db # PostgreSQL 示例: # DATABASE_URL=postgresql+psycopg2://user:password@localhost:5432/dbname # MySQL 示例: # DATABASE_URL=mysql+pymysql://user:password@localhost:3306/dbname ``` 注意:项目在启动时会使用 `python-dotenv` 自动加载 `server/.env`(若存在)。 安全建议:不要把包含凭据的 `.env` 提交到源码仓库,把 `.env` 加入 `.gitignore`。 --- ## 运行测试 后端测试使用 `pytest`。示例: ```powershell cd server .\.venv\Scripts\Activate.ps1 pytest -q ``` 目前仓库包含基础的 API 测试(CRUD、列表、404 等),运行结果示例:`4 passed, 2 warnings`。 --- ## 其他说明与常见问题 - 如果在 Windows 上运行 PowerShell 脚本被阻止,请用管理员权限运行: ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ``` - 如果你想在不同位置存放 `.env`,或使用系统环境变量,当前代码会优先使用实际的系统环境变量 `DATABASE_URL`(若已设置),然后再加载 `server/.env`。 --- ## 启动命令(便捷) ```powershell # 从项目根 .\run_backend.ps1 -Port 8000 # 或直接在 server 目录运行 uvicorn cd server .\.venv\Scripts\Activate.ps1 python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000 --app-dir . ``` --- 如果你希望我: - 自动把 `server/.env` 加入 `.gitignore`, - 或把 README 中的示例写入更详细的部署步骤(例如使用 Docker / docker-compose), 请告诉我下一步想要我做的内容。 --- ## Docker / docker-compose 示例 本仓库包含一个基础的容器化示例: - `server/Dockerfile`:构建后端镜像 - `server/.dockerignore`:排除不需要的文件 - `docker-compose.yml`(仓库根):包含 Postgres (`db`) 与 `server` 服务,`server` 使用 `DATABASE_URL` 连接到 `db`。 快速启动(在仓库根目录): ```powershell docker compose up --build ``` Compose 文件中已示例设置 `DATABASE_URL` 指向 `db`,你也可以在 `server/.env` 中覆盖或通过环境变量注入。生产环境请务必使用安全凭据与 secrets 管理。 如果需要,我可以: - 将 `server/.env` 加入 `.gitignore`(推荐), - 添加一个 `docker-compose.override.yml` 示例用于本地开发, - 或为前端和后端分别添加更详尽的 Dockerfile 与 multi-stage build 优化。 ### Production (示例) 仓库还包含一个示例 `docker-compose.prod.yml`,用于展示如何在生产环境运行应用(Postgres + 后端)。注意:生产环境务必使用 secrets 管理凭据,并根据运行平台调整资源限制与网络策略。 快速启动(示例,仅供参考): ```powershell docker compose -f docker-compose.prod.yml up -d --build ``` 停止并移除: ```powershell docker compose -f docker-compose.prod.yml down ```