修改测试文件
This commit is contained in:
16
Dockerfile
16
Dockerfile
@@ -1,13 +1,7 @@
|
|||||||
FROM python:2.7
|
FROM python:2.7
|
||||||
ENV PYTHONUNBUFFERED 1
|
ENV PYTHONBUFFERED 1
|
||||||
ENV oj_env daocloud
|
RUN mkdir -p /code/log /code/test_case
|
||||||
RUN mkdir /var/oj
|
WORKDIR /code
|
||||||
COPY . /var/oj/
|
ADD requirements.txt /code/
|
||||||
WORKDIR /var/oj/
|
|
||||||
RUN pip install -r requirements.txt
|
RUN pip install -r requirements.txt
|
||||||
EXPOSE 8080
|
EXPOSE 8010
|
||||||
RUN mkdir LOG
|
|
||||||
RUN mkdir test_case
|
|
||||||
RUN mkdir tmp
|
|
||||||
RUN python manage.py migrate
|
|
||||||
CMD python manage.py runserver 0.0.0.0:8080
|
|
||||||
19
judge/Dockerfile
Normal file
19
judge/Dockerfile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
FROM ubuntu:14.04
|
||||||
|
MAINTAINER virusdefender<qduliyang@outlook.com>
|
||||||
|
RUN mkdir /var/install/
|
||||||
|
WORKDIR /var/install/
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get -y install software-properties-common python-software-properties
|
||||||
|
RUN add-apt-repository -y ppa:webupd8team/java
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get -y install python gcc g++ rake pkg-config git make autoconf automake libtool python-pip
|
||||||
|
RUN echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
|
||||||
|
RUN echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
|
||||||
|
RUN apt-get install -y oracle-java7-installer
|
||||||
|
RUN apt-get -y install libseccomp-dev
|
||||||
|
RUN git clone https://github.com/quark-zju/lrun.git
|
||||||
|
RUN cd lrun && make install
|
||||||
|
RUN mkdir -p /var/judger/run/ && mkdir /var/judger/test_case/ && mkdir /var/judger/code/
|
||||||
|
RUN chmod -R 777 /var/judger/run/
|
||||||
|
WORKDIR /var/judger/code/
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
# coding=utf-8
|
# coding=utf-8
|
||||||
|
# 这个redis 是 celery 使用的,包括存储队列信息还有部分统计信息
|
||||||
redis_config = {
|
redis_config = {
|
||||||
"host": "121.42.32.129",
|
"host": "121.42.32.129",
|
||||||
"port": 6379,
|
"port": 6379,
|
||||||
@@ -6,6 +7,7 @@ redis_config = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# 判题的 docker 容器的配置参数
|
||||||
docker_config = {
|
docker_config = {
|
||||||
"image_name": " a7673b55d263",
|
"image_name": " a7673b55d263",
|
||||||
"docker_path": "docker",
|
"docker_path": "docker",
|
||||||
@@ -13,10 +15,13 @@ docker_config = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# 测试用例的路径,是主机上的实际路径
|
||||||
test_case_dir = "/root/test_case/"
|
test_case_dir = "/root/test_case/"
|
||||||
source_code_dir = "/root/"
|
# 源代码路径,也就是 manage.py 所在的实际路径
|
||||||
|
source_code_dir = "/root/OnlineJudge/"
|
||||||
|
|
||||||
|
|
||||||
|
# 存储提交信息的数据库,是 celery 使用的,与 oj.settings/local_settings 等区分,那是 web 服务器访问的地址
|
||||||
submission_db = {
|
submission_db = {
|
||||||
"host": "127.0.0.1",
|
"host": "127.0.0.1",
|
||||||
"port": 3306,
|
"port": 3306,
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
import os
|
|
||||||
|
|
||||||
LOG_PATH = "LOG/"
|
|
||||||
|
|
||||||
# Database
|
|
||||||
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
|
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
||||||
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
|
||||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
|
||||||
'CONN_MAX_AGE': 1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
|
||||||
DEBUG = True
|
|
||||||
@@ -5,22 +5,23 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|||||||
|
|
||||||
|
|
||||||
# 下面是需要自己修改的
|
# 下面是需要自己修改的
|
||||||
LOG_PATH = "LOG/"
|
LOG_PATH = "log/"
|
||||||
|
|
||||||
# 注意这是web 服务器访问的地址,判题端访问的地址不一定一样,因为可能不在一台机器上
|
# 注意这是web 服务器访问的地址,判题端访问的地址不一定一样,因为可能不在一台机器上
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||||
'CONN_MAX_AGE': 0.3,
|
|
||||||
},
|
},
|
||||||
|
# submission 的 name 和 engine 请勿修改,其他代码会用到
|
||||||
'submission': {
|
'submission': {
|
||||||
'NAME': 'oj_submission',
|
'NAME': 'oj_submission',
|
||||||
'ENGINE': 'django.db.backends.mysql',
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
'HOST': "121.42.32.129",
|
'HOST': "121.42.32.129",
|
||||||
'POST': 3306,
|
'POST': 3306,
|
||||||
'USER': 'root',
|
'USER': 'root',
|
||||||
'PASSWORD': 'mypwd'
|
'PASSWORD': 'mypwd',
|
||||||
|
'CONN_MAX_AGE': 0.1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,3 +32,5 @@ TEST_CASE_DIR = os.path.join(BASE_DIR, 'test_case/')
|
|||||||
|
|
||||||
DATABASE_ROUTERS = ['oj.db_router.DBRouter']
|
DATABASE_ROUTERS = ['oj.db_router.DBRouter']
|
||||||
|
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = []
|
||||||
|
|||||||
@@ -1 +1,35 @@
|
|||||||
# coding=utf-8
|
# coding=utf-8
|
||||||
|
import os
|
||||||
|
|
||||||
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
|
|
||||||
|
# 下面是需要自己修改的
|
||||||
|
LOG_PATH = "log/"
|
||||||
|
|
||||||
|
# 注意这是web 服务器访问的地址,判题端访问的地址不一定一样,因为可能不在一台机器上
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||||
|
},
|
||||||
|
# submission 的 name 和 engine 请勿修改,其他代码会用到
|
||||||
|
'submission': {
|
||||||
|
'NAME': 'oj_submission',
|
||||||
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
|
'HOST': "121.42.32.129",
|
||||||
|
'POST': 3306,
|
||||||
|
'USER': 'root',
|
||||||
|
'PASSWORD': 'mypwd',
|
||||||
|
'CONN_MAX_AGE': 0.1,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG = False
|
||||||
|
|
||||||
|
# 同理 这是 web 服务器的上传路径
|
||||||
|
TEST_CASE_DIR = os.path.join(BASE_DIR, 'test_case/')
|
||||||
|
|
||||||
|
DATABASE_ROUTERS = ['oj.db_router.DBRouter']
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = ['*']
|
||||||
@@ -14,15 +14,13 @@ https://docs.djangoproject.com/en/1.8/ref/settings/
|
|||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
import os
|
import os
|
||||||
|
|
||||||
# todo 判断运行环境
|
# 判断运行环境
|
||||||
ENV = os.environ.get("oj_env", "local")
|
ENV = os.environ.get("oj_env", "local")
|
||||||
|
|
||||||
if ENV == "local":
|
if ENV == "local":
|
||||||
from .local_settings import *
|
from .local_settings import *
|
||||||
elif ENV == "server":
|
elif ENV == "server":
|
||||||
from .server_settings import *
|
from .server_settings import *
|
||||||
elif ENV == "daocloud":
|
|
||||||
from .daocloud_settings import *
|
|
||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
@@ -33,7 +31,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|||||||
# SECURITY WARNING: keep the secret key used in production secret!
|
# SECURITY WARNING: keep the secret key used in production secret!
|
||||||
SECRET_KEY = 'hzfp^8mbgapc&x%$#xv)0=t8s7_ilingw(q3!@h&2fty6v6fxz'
|
SECRET_KEY = 'hzfp^8mbgapc&x%$#xv)0=t8s7_ilingw(q3!@h&2fty6v6fxz'
|
||||||
|
|
||||||
ALLOWED_HOSTS = []
|
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
@@ -115,10 +113,6 @@ STATIC_URL = '/static/'
|
|||||||
|
|
||||||
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/src/"),)
|
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/src/"),)
|
||||||
|
|
||||||
TEMPLATE_DIRS = (
|
|
||||||
os.path.join(BASE_DIR, "template/src"),
|
|
||||||
)
|
|
||||||
|
|
||||||
AUTH_USER_MODEL = 'account.User'
|
AUTH_USER_MODEL = 'account.User'
|
||||||
|
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
|
|||||||
@@ -8,3 +8,4 @@ celery
|
|||||||
gunicorn
|
gunicorn
|
||||||
coverage
|
coverage
|
||||||
django-extensions
|
django-extensions
|
||||||
|
supervisor
|
||||||
Reference in New Issue
Block a user