Skip to content

如何部署

Leo edited this page Jan 27, 2022 · 3 revisions

现在部署 EduOJ 流程相对复杂。 流程不一定完整/正确。如果遇到问题请发issue。 以下部署流程是开发用

  1. 部署依赖: EduOJ依赖redis、S3API的储存服务器、Gorm支持的SQL服务器。我们推荐使用Redis/Minio/SQLite。请按照官网文档安装REDIS和MINIO。
  2. 编译后端:
git clone https://github.com/EduOJ/backend.git
cd backend
go build .
  1. 修改配置文件
cp config.yml.example config.yml
vi config.yml
  1. 启动后端./backend serve
  2. 克隆前端
git clone https://github.com/EduOJ/frontend.git
cd frontend
yarn
  1. 修改配置:
cp src/config/config.example.js src/config/config.js
vi src/config/config.js
  1. 如果后端使用自定义端口,修改开发机的代理设置:
vi vue.config.js
  1. 启动前端 sudo yarn serve
  2. 注册用户,并给用户超级管理员权限:
$ ./backend permission
gr <username> admin
  1. 运行评测机
docker run -d -v`pwd`/config.yml:/config.yml eduoj/judger:latest
  1. 添加语言 在评测机(judgerServer)的仓库里运行example/zipall.py,之后把打包出来的默认语言的编译/运行脚本(在zipped里)上传到minio中scripts的bucket中。 然后连接到数据库,手动在scripts和languages表内插入条目。scripts表中file_name和name都写压缩文件的名字(没有.zip)即可。
Clone this wiki locally