Bootstrap+Vue.js程序设计训练平台在线判题系统设计(5)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Bootstrap+Vue.js程序设计训练平台在线判题系统设计(5)

3。1。2  安装Git

开发人员第一次配置项目环境需确保已经安装Git:

sudo apt-get install git

Git是一个十分强大的版本控制系统,一旦我们修改了某个文件出现错误,可以立即恢复上一个版本的状态。特别在多人开发项目时,可以创建多个分支,并行地开发。但也要注意提交时文件的修改,以避免冲突。

clone代码到本地

注意先配置好SSHkeys。从远程初始化代码库到本地:

git clone https://github。com/NJUST-FishTeam/NJUST_OnlineJudge_M6。git

3。1。3  配置虚拟开发环境virtualenv

开发过程中,使用virtualenv来统一项目组件的版本号,同时隔离开发环境的软件版本和本机的版本。python的virtualenv用来隔离不同应用的环境。假设开发的时候遇到你的应用A需要一个包的Version 1,而应用B需要同一个包的Version 2。如果你直接在整个目录下进行更新,就会导致包出错。virtualenv可以创建一个自己的安装目录,不与其他virtualenv环境重叠。

安装virtualenv:论文网

sudo apt-get install python-virtualenv

创建初始虚拟环境:

virtualenv venv

3。1。4  日常开发流程

每次开发前需要进入虚拟开发环境:

source venv/bin/activate

从Git远程代码库上拉取远程,更新本地代码,与远程同步:

git pull origin master

进入自己的Git开发分支:

git checkout dev_id

提交自己的修改:

git add 

git commit –m “XXX”

每天工作完成,或者一个阶段工作完成,请及时将代码推送到自己的分支上去:

git push origin dev_id

3。2  使用etcc进行配置文件管理

代码位于:https://github。com/NJUST-FishTeam/etcc clone下来,按照上面的Readme进行安装。 在工程目录下,在进入venv开发环境下。

3。2。1  安装

pip install -r requirements。txt

3。2。2  部署运行

修改api/config。py中STORE_PATH的值,表示存储配置文件的路径,修改到config目录下:

STORE_PATH = '/home/<用户名>/<目录>/etcc/config/'

运行如下命令,进行部署:

gunicorn -b 0。0。0。0:8009 api。app

测试方法进入http://0。0。0。0:8009/services/web2

{"status": "success", "count": 2, "data": ["production", "dev"]} 表示配置正确。

3。2。3  加载MySQL配置

进入Judge代码目录下,打开settings。py,30行左右能看到:

if 'test' not in sys。argv:

    try:

        mysql_setting = requests。get(

            'http://127。0。0。1:8009/services/mysql-01/configures/production/')。json()['data']

    except Exception, e:

        print 'Getting configures failed, maybe etcc is not running。'

        raise

按照这个url里面的格式,在etcc/config目录下创建mysql-01/production。json。json文件请按照原先config/web2目录下的类似,按照后面的代码设置成自己的USER,HOST,PASSWORD

DATABASES = {

        'default': {

            # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'。

            'ENGINE': 'django。db。backends。mysql',

            # Or path to database file if using sqlite3。 (责任编辑:qin)