> 文章列表 > LDUOJ(winterant/OnlineJudge)老用户从1.x版本升级到2.x版本

LDUOJ(winterant/OnlineJudge)老用户从1.x版本升级到2.x版本

LDUOJ(winterant/OnlineJudge)老用户从1.x版本升级到2.x版本

说明

2.x最大的变化就是更换了判题服务。放弃了自带的判题内核,停止维护,采用开源go-judge作为新的判题服务。

主要影响

  • 提交代码后可以看到所有测试点的评测情况。其中acm模式下,遇到测试点无法通过时,立即停止评测,剩余测试点将放弃评测(永久显示为“等待中”)。
  • 2.0版本暂时不支持代码查重,后续版本将考虑。

升级方法

一、 备份

务必备份!务必备份!务必备份!升级前务必备份数据
请参考备份方式。

二、 升级

1. 停止服务(必须)

cd OnlineJudge/   # 你安装oj的位置
sudo docker compose down

2. 将文件夹OnlineJudge/重命名为OJ1.x

这是为了防止后面的操作重名

cd ..
mv OnlineJudge OJ1.x

3. 执行2.x版本的安装

git clone -b deploy2 https://github.com/winterant/OnlineJudge.git
cd OnlineJudge
sudo docker compose up -d

使用浏览器访问一下网站,验证是否安装成功(docker-compose.yml中默认的端口号是8080,请自行更改)。

4. 验证成功后,停止服务

sudo docker compose down

5. 修改配置lduoj.conf
根据需要,自行修改配置项(可对比OJ1.x/lduoj.conf)。
实际上,2.x相对于1.x只是增加了以下配置,您完全可以单独增加他们:

# Database for laravel. 不要改
DB_CONNECTION=mysql
DB_HOST=${MYSQL_HOST}
DB_PORT=${MYSQL_PORT}
DB_DATABASE=${MYSQL_DATABASE}
DB_USERNAME=${MYSQL_USER}
DB_PASSWORD=${MYSQL_PASSWORD} Judge Config 
# go-judge server. 不要改
JUDGE_SERVER=go-judge:5050# Number of parallel judge processes.
# Default: (CPU数量 + 1)/2
JUDGE_MAX_RUNNING=

6. 把老版本的数据复制过来

cp -rf ../OJ1.x/data ./

7. 启动服务

sudo docker compose up -d

你的oj已经成功从1.x升级到2.x!