Skip to content

跨主机同步测试用例

李扬 edited this page Jun 10, 2016 · 7 revisions

代码中提供了跨主机同步测试用例的docker镜像。

##下载docker镜像

docker pull registry.aliyuncs.com/v-image/oj_rsync
docker tag registry.aliyuncs.com/v-image/oj_rsync oj_rsync

##配置同步选项

测试用例同步分为两种模式,master和slave,master节点就是存放测试用例的机器,一般就是Web服务器,而slave一般是判题节点。在两个节点上都需要至少下面三个文件夹的存在,和安装类似,不再赘述。

  • /home/OnlineJudge 代码目录
  • /home/test_case 测试用例目录
  • /home/log 日志目录

dockerfiles/test_case_rsync/下有一个docker-compose.example.yml文件,请复制一份为docker-compose.yml。如果里面volumes文件映射关系有修改,请按照安装文档修改为对应的路径。

在该目录下还有一个rsyncd.example.passwd,请复制一份为rsyncd.passwd,并修改该文件内容为一个随机密码。

##master的配置

运行docker-compose up -d oj_rsync_master,然后docker ps -a确认在运行状态。

##slave的配置

修改docker-compose.yml文件的最后一行,将{YOUR_MASTER_ADDR}替换为master节点的ip或者域名,不需要端口。

运行docker-compose up -d oj_rsync_slave,然后docker ps -a确认在运行状态。

第一次同步可能需要耗费比较长的时间,请耐心等待。之后每5秒同步一次。