项目库使用说明

项目库使用说明

背景

同学作业的存放和项目的展示一直是个问题。最早的时候班里同学的作业都是通过邮件发送给老师,老师查阅后再课上讲解。这样不但流程麻烦,而且问题很多。同学提交作业累,老师看作业也麻烦,而且写的代码没有聚集没有展示,时间一久就全丢了。如果能搭建一个简单轻便的小系统,能方便的展示作业和项目,又让同学用起来舒服,那就太美妙了。

问题

后来又做了很多尝试…

让大家提交到公司内部的gitlab——操作流程繁琐,又太封闭

提交到新浪云——优点:让同学建立收集整理意识,可在线预览能激发学生的兴趣;缺点:操作流程繁琐,需个人认证,项目数量有限制。对于饥人谷来说也不便于收集展示优秀作品

提交到coding——优点:方便多人协作进行项目管理,勉强可在线预览; 缺点:bug太多,私有收费项目竟然只能手动部署,很大几率部署失败,而且项目限制20人。

解决

git的使用是前端工程师的必备技能,课上也一直推荐大家用github管理项目和代码。之前用webhook结合gitbook做过自动化课件,同样也可以做一个简单的项目展示系统。

基本流程可简化为:

  1. 用户在github的项目设置里绑定webhook地址
  2. 当每次push代码时会自动向后台服务器发送关于此次提交的信息
  3. 后台在接受到请求后判断项目类型,如果是普通项目类型,执行如下操作
    • 如果用户代码不存在,clone到对于web目录
      • 如果代码存在,更新代码
      • 更新用户的项目列表页面
      • 更新项目详情页(侧边栏展示项目里文件系统,主区块渲染readme.md里的信息)

服务器使用node进行编写,框架用express,模版使用jade, 异步处理使用 when

用户如何使用

webhook1

webhook2

webhook3

webhook5

webhook7

webhook8
webhook9

如何删除展示的项目

对于绑定了webhook展示到book.jirengu.com上的项目,如果想删除只是删掉webhook是没用的。需要执行一次push,提交代码的message为”delete project”

比如

    git add .
        git commit -am "delete project"
        git push -u origin master

这样book.jirengu.com后台才能接受到请求,执行删除项目

然后可以去掉webhook的绑定

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注