好的,所以这可能听起来有点奇怪,但在这里。学生作业的持续集成
我在本地大学教授数据结构和算法实验室,希望给我的学生提供每一种流畅而有趣的体验。到目前为止,我使用了一个简单的git仓库,每个学生都派生出来,每当他们完成一个任务时,他们发出了一个push + pull请求,我会检查他们的代码,如果一切正常,我会将pull请求合并到main回购。这工作得很好,但我想做一些更有趣的事情。
这个实验室正在C语言(甚至不是C++)中教(不,我不想输入任何有关为什么另一种语言会更好的论战)。我想要做的就是在学生每次推动Jenkins构建时运行它,以验证手头任务的某些预定义测试。
例如,对于第2周,我会给他们一个家庭作业与列表。我想自己写这些作业的测试,然后自动验证他们使用这些测试做了什么。
我提供以下信息:
- 24/7运行CentOS的机器,我可以用它来把任何东西上(我詹金斯和Tomcat在其上运行ATM)
- 足够的时间和毅力来尝试让自己在这个实验中的经验非常值得的,而
++一个非常漂亮的“附加”这一切会使用类似声纳作为代码验证,并检查其分支机构内重复的代码(如看是否有人抄袭了别人的回答)
我在正确的轨道上去Jenkins服务器,思考声纳等?我离开吗? 我不认为这是不可能的。这可能是困难的,是的,但是这使得它的乐趣^^
的“流”,我要的是:
- 每个学生是一个git组织+回购
- 他们创建一个分支的一部分从本地主机(我会施加限制,如“只使用一个子文件夹与你的名字)
- 主分支将包含测试
- ,他们将在他们的家庭作业的工作对他们的分支,然后将其推到詹金斯/ Gerrit /无
- 该分支将以某种方式进行测试,如果所有测试都通过了,它将与主合并。
我代表亲爱的同学们,谢谢。
我希望我有这样的老师...... – Vishwanath 2015-02-08 06:29:09
你正在为詹金斯正确的轨道。关于重复检查,我不确定您是否可以使用Sonar来做到这一点。 – Vishwanath 2015-02-08 06:30:02
主动竖起大拇指!所选择的工具适用于此。流量也不错。 – 2015-02-08 10:44:41