快速开始
本页指导你在本地开发环境中运行 iForge。生产部署请参考 Docker 部署。
环境要求
- Go 1.26+
- Node.js 18+
- Git(系统 PATH 中可用)
- Docker 20.10+(可选,用于 CI/CD Job 执行)
启动后端
cd server
go run ./cmd/server
后端将在 http://localhost:8081 启动,包含:
- HTTP API + Git HTTP 协议(端口 8081)
- SSH Git 协议(端口 2022)
数据库
首次启动自动创建 SQLite 数据库(server/data/iforge.db),无需手动迁移。
启动前端
cd web
npm install
npm run dev
前端将在 http://localhost:3001 启动。
首次配置
- 打开浏览器访问
http://localhost:3001 - 点击「注册」创建第一个管理员账户
- 创建你的第一个仓库
- 开始使用 Git 推送代码
# 克隆仓库(HTTP)
git clone http://localhost:8081/你的用户名/仓库名.git
# 或 SSH
git clone ssh://git@localhost:2022/你的用户名/仓库名.git
体验任务驱动开发
iForge 的核心特色是任务与代码的深度联动。以下是一个快速体验流程:
1. 创建项目与任务
- 进入「项目」页面,创建新项目
- 在项目看板中创建任务(Task),例如:
TASK-1: 修复登录超时问题 - 设置任务优先级、经办人
2. 从任务创建开发分支
在任务卡片上点击「创建分支」,系统自动生成 task-1-fix-login-timeout 格式分支:
# 拉取新分支
git fetch origin
git checkout task-1-fix-login-timeout
3. 开发并提交(引用任务编号)
# 提交时引用任务编号,自动关联到任务时间线
git commit -m "优化数据库连接池配置 #TASK-1"
git push origin task-1-fix-login-timeout
4. 创建合并请求
推送分支后,在仓库页面创建合并请求(MR),系统会自动关联任务。合并后任务状态自动更新为「已完成」。
这就是 iForge 的核心理念:需求 → 分支 → 提交 → MR → 合并 → 任务完成,全链路可追溯。
环境变量
开发环境通常使用默认值即可。完整配置见 配置说明。
| 变量 | 说明 | 默认值 |
|---|---|---|
IFORGE_HOME | 数据目录 | ./data |
IFORGE_HTTP_PORT | HTTP 端口 | 8081 |
IFORGE_SSH_PORT | SSH 端口 | 2022 |
IFORGE_CORS_ORIGINS | CORS 允许来源 | localhost |
IFORGE_CI_ENABLED | 是否启用 CI/CD | true |
IFORGE_CI_ALLOW_SHELL_EXECUTOR | 是否允许 Shell Executor(生产环境必须为 false) | false |
安全提示
生产环境必须保持 IFORGE_CI_ALLOW_SHELL_EXECUTOR=false(默认值),以防止在宿主机直接执行用户代码。详见 CI/CD 流水线 - 安全机制。