-
Notifications
You must be signed in to change notification settings - Fork 15
使用说明
该插件将Git项目托管站点(例如Github,Google Code等)提供的源代码版本控制功能集成到Moodle中,使教师可以方便地直接通过Moodle检查和管理学生提交到代码仓库中的源代码。打造项目管理、跟踪和评分的一揽子解决方案。
你需要先安装 Git 和 Moodle 并正确配置使其能够正常工作。
先进入到**<moodleroot>/mod/assignment/type** 目录中,直接使用Git克隆源代码。这样,当此项目更新时,你可以直接使用git pull
命令获得更新。
git clone git://github.com/hit-moodle/moodle-assignment-type_github.git github
通过 moodle-assignment-type_github 项目页面上的下载链接下载ZIP包。ZIP包解压后将源代码文件夹重命名为 github 并复制到 <moodleroot>/mod/assignment/type 目录中。
上述步骤完成后,使用站点管理员身份登录Moodle,将会提示找到新插件,点击安装即可。
本插件使用一个CLI脚本 cli/sync_repos.php 获取学生的项目容器。在github目录下直接执行同步过程(假设Web Server的用户是 _www),同步所有github类型作业的容器:
sudo -u _www php cli/sync_repos.php
该脚本接收一个可选参数cm,代表Moodle的Course Module。可以根据一个github类型作业的cmid,只同步这个作业中的容器。
# 同步course module id为1024的作业
sudo -u _www php cli/sync_repos.php --cm=1024
# 可以使用多个cm参数,例如同步course module id为256和1024的两个作业
sudo -u _www php cli/sync_repos.php --cm=256 --cm=1024
因为不可能每次都由系统管理员手工执行同步,所以需要设置一个定时任务每隔一段时间执行一次同步脚本。同步脚本会将学生的项目容器临时存储在 <moodledata>/github 目录下,在Linux/Unix下由于访问权限的问题,设置cron任务时,应当将其设置为Web服务器的任务。例如Apache的User是 _www,编辑crontab时应使用如下命令:
sudo crontab -u _www -e
若服务器时间每天5点执行同步,同步命令可设置为:
# MOODLEROOT 表示Moodle的绝对路径
* 5 * * * php MOODLEROOT/mod/assignment/type/github/cli/sync_repos.php