-
-
Notifications
You must be signed in to change notification settings - Fork 12
如何部署
Leo edited this page Jan 27, 2022
·
3 revisions
现在部署 EduOJ 流程相对复杂。 流程不一定完整/正确。如果遇到问题请发issue。 以下部署流程是开发用:
- 部署依赖: EduOJ依赖redis、S3API的储存服务器、Gorm支持的SQL服务器。我们推荐使用Redis/Minio/SQLite。请按照官网文档安装REDIS和MINIO。
- 编译后端:
git clone https://github.com/EduOJ/backend.git
cd backend
go build .
- 修改配置文件
cp config.yml.example config.yml
vi config.yml
- 启动后端
./backend serve
- 克隆前端
git clone https://github.com/EduOJ/frontend.git
cd frontend
yarn
- 修改配置:
cp src/config/config.example.js src/config/config.js
vi src/config/config.js
- 如果后端使用自定义端口,修改开发机的代理设置:
vi vue.config.js
- 启动前端
sudo yarn serve
- 注册用户,并给用户超级管理员权限:
$ ./backend permission
gr <username> admin
- 运行评测机
docker run -d -v`pwd`/config.yml:/config.yml eduoj/judger:latest
- 添加语言
在评测机(judgerServer)的仓库里运行example/zipall.py,之后把打包出来的默认语言的编译/运行脚本(在zipped里)上传到minio中scripts的bucket中。
然后连接到数据库,手动在scripts和languages表内插入条目。scripts表中file_name和name都写压缩文件的名字(没有
.zip
)即可。