# Gitea Actions 部署配置说明 ## 前提条件 - Gitea Runner 已配置为 `self-hosted` 模式,直接在宿主机上运行 - 宿主机上已安装 `bun` 和 `pm2` - Runner 用户有权限访问 `/home/score-backend` 目录 ## 工作流说明 - **触发条件**: - 推送到 `dev` 或 `main` 分支时自动触发 - 也可以手动触发(workflow_dispatch) - **部署步骤**: 1. 检出代码到 runner 工作目录 2. 使用 rsync 同步文件到 `/home/score-backend`(排除不需要的文件) 3. 在目标目录执行 `bun install` 安装依赖 4. 使用 `pm2 restart media-backend` 重启应用(如果应用不存在则启动) ## 文件排除规则 以下文件/目录不会被同步到服务器: - `.git` - Git 仓库文件 - `node_modules` - 依赖包(会在服务器上重新安装) - `.DS_Store` - macOS 系统文件 - `*.db` - 数据库文件 - `bun.lockb` - Bun 锁文件 - `.env` / `.env.local` - 环境变量文件(保留服务器上的配置) - `.gitea` - Gitea 工作流文件 ## PM2 配置 如果 PM2 中还没有 `media-backend` 应用,工作流会自动创建。你也可以手动配置: ```bash cd /home/score-backend pm2 start main.ts --name media-backend pm2 save pm2 startup # 设置开机自启 ``` ## 注意事项 - 确保 Runner 用户有写入 `/home/score-backend` 的权限 - 确保环境变量在服务器上已正确配置(不会覆盖 `.env` 文件) - 数据库文件不会被覆盖,确保数据安全