好的,所以這可能聽起來有點奇怪,但在這裏。學生作業的持續集成
我在本地大學教授數據結構和算法實驗室,希望給我的學生提供每一種流暢而有趣的體驗。到目前爲止,我使用了一個簡單的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