douban / code

[DEPRECATED]Douban CODE

Home Page:http://douban-code.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[讨论]CODE的下一步

dongweiming opened this issue · comments

@qingfeng @xtao @CNBorn

三位老师~~

CODE现在已经放出来95%以上的功能了. 下一步怎么走还请大家给建议, 来讨论, 当然还是希望大家一起写下去

现在问题

  1. 维护的力量不足, 涛涛新入职, 需要熟悉新环境; 我在条目组被各种产品需求淹没. 只能利用下班做.
  2. 我们欠缺一个整体的规划, 清风老师和邢老师都有经验, 不如来做点项目管理? 我对CODE熟悉程度还远不够 🐳

下一步需要做的

我觉得目前应该首要做的是完善现在CODE相关功能, 完善文档, 合适的provisioning等基础设施这些工作. 让用户可以在测试环境中用起来, 甚至可以线上环境用起来. 我列一下我想到的还需要做的事情.

  1. CODE还有一些点没有拆的很清楚
    1. douvatar的头像服务, 还没有完全拆出来
    2. #12 说的问题还存在, 我在拆和dae环境登陆相关事情的时候选择了quixote提供的session实现
    3. mq相关我换成了celery, 还没有测试
    4. codelive还没有加进来.
  2. 注册一个code的docker源, 现在只有vagrant的源. 提供给更多选择, 环境配置过程可以和vagrant一样
  3. provisioning工具, 我准备给vagrant添加provisioning工具, shire-in-vagrant用的是puppet, 我想用ansible. #23 也提到了
  4. 使用云主机或者vps搭建一个demo. 有一个测试账号体验过程. 但是权限上可以hack一些代码, 不让测试账号做删除之类的操作. 或者一个 http://try.douban.code 给想用的用户提供试用机会
  5. 添加符合travis-ci最新趋势的技术 - 国外同仁评判一个开源项目, 测试是一个关键点
  6. 给测试环境添加测试样例, 比如用户跑起来就可以使用test用户登录, 已经有一些默认项目, 有默认的team等.
  7. 邢老师说的很对. 良好的引导. 无论是安装, 配置, 以及使用指南. 我们现在很欠缺. 我想完整的介绍CODE都有哪些feature, 怎么用, 怎么配置, 场景等. 这个也应该放在README或者WIKI里面, 不需要用户很费劲的跑起来才能看到, 能预览
  8. 文档. 豆瓣所有开源项目最大的问题就是没有文档...
  9. 国际化. 开源, 只靠国内的支持是远远不够的. 我指的是让国外同仁很容易的了解, 使用CODE. 我英语能力有限, 还靠大家了~

协作方式

我想的是

  1. trello建card做任务安排
  2. slack(好吧, 自从邢老师离职大家就都不用了~)用来沟通, 讨论.
  3. 使用github提pr, 代码review(就是有点怪怪的感觉, 自己都不用CODE服务, 来用github会不会是一个槽点, 所以我想和上面提的, 自己用CODE搭建一个服务器, CODE托管到上面, 也做类似github一样的托管服务, 让其他人使用)

新人要求

有点没想到词儿. CODE肯定需要越来越多的人参与进来, 那肯定会有人可以被拉入我们组织. 还请清风老师邢老师联系下CODE贡献者们, 看看有没有兴趣继续.

还有一点就是入CODE团队的要求. 清风老师和邢老师要有经验的多: 什么样的人我们就可以拉入组织, 拉入slack, 和我们一样接受日常任务等等

遥远的想法:

  1. 去 quixote,转 django
  2. 去 oz,统一前端

我觉得可行的工作:

  1. douvatar的头像服务, 还没有完全拆出来
  2. 使用云主机或者vps搭建一个demo. 有一个测试账号体验过程. 但是权限上可以hack一些代码, 不让测试账号做删除之类的操作. 或者一个 http://try.douban.code 给想用的用户提供试用机会
  3. ci

从代码组织以及迁移维护这一点我觉得应该学习 Sentry。

GitHub Enterprise 我也使用维护过一段时间,我觉得也值得学习。

GitLab 在避讳 GitHub,而 CODE 是完全再模仿 GitHub,我觉得慢慢改就好。

ansible 没有问题,我现在也在用他。。。

我觉得一个目标是做一个可维护的版本,可维护的定义:

  1. 数据能够同步升级(MySQL 目前只有这部分需要持久化存储),Git 仓库的修改比较少,基本可以忽略(即使修改,也可以写个检查脚本来做迁移,相比数据库的简单一点),数据库表结构会随着功能的升级/修改变动比较大,如果本地使用过程中好久没有升级,那么会比较复杂,这一点,我觉得 django 的 migration 做的比较好。
  2. CI 能够覆盖大部分功能。
  3. 对外稳定的 API 接口。

大概总结了一下 CODE 的现有功能 http://www.douban.com/photos/photo/2292916165/large

手抖。。。

commented

我先仔细思考一下,再来回答这个Issue

我前两天想了想,大体有一个思路,但在阐述前我想先问2个问题:

  1. CODE是什么?(这个问题对于熟悉的工程师们可能觉得有些奇怪,但请试着用最简洁的语言尝试描述一下,明确定义是解决很多问题的关键)
  2. 开源在这里的Code,和豆瓣的关系是什么?
  3. 你希望的Code的发展方向,或说是一个可预期的未来是什么样的?

这两个问题的答案是回答更多问题的基准,所以想听听大家的意见

我先来简单回答一下:

  1. CODE 有 2 方面的功能,一个是类似 GitHub/GitLab 的代码托管/写作的工具,另一个是工程师内部沟通的工具(PR以外的徽章/表扬)
  2. 豆厂内部已经转向 GitHub Ent 了,CODE 在厂内的维护者只剩下 dongweiming 和 lihan 了。代码版本上应该已经不是同一个仓库了,所以应该算是独立的关系了。
  3. 一种是为造轮子的人提供一个参考/示例,另外一种是像 Sentry/GitLab 一样的,一个可以内部部署使用的代码协作工具。说是工具其实有点不够,因为涉及了太多用户,组织等应用特性的功能,是一个大而全的东西,所以简单说工具可能不能体现一些方面。

@CNBorn 我这么看:

  1. CODE是什么? CODE是一个代码托管, 团队协作沟通, 发现问题反馈问题工具. 它可以方便的集成第三方的开源项目和公司自有的服务(通过合理规范的api格式, 插件模式等). 有齐备的管理后台和权限控制方式.
  2. 希望让豆瓣内部已经用到功能都能在外部看到, 其他的不怎么需要和豆瓣产生关系. 包含用到的框架, 各个依赖库
  3. CODE可以作为对Python系的或者倾向Python的公司的首选, 达到和其他同类产品的性能效率, 功能, 有自己的一些理解看法和实现. 不必赶着github风. 聊起来这样的话题, CODE也在讨论范围内. 就酱

我在非常早的时候关注到CODE,当时bitnami还没有支持gitlab。
非常想在工程师内部慢慢从svn迁移到git,然后把徽章这么有特色的东西用起来。
再后面CODE没啥声音了。
再后面bitnami出了gitlab的版本,于是就转向了gitlab。目前用得也还好。

再后面比如coding.net/git@osc,然后teambition/tower等系统的出现就让这个市场变得更有趣了。
CODE加油。
挺想帮点啥的,但如果和豆瓣内部系统绑太紧很局限。
如果只需要redis/mysql之类的就可以很快搭建起来,我想还是有些市场的。

我是关注了xtao,然后看到douban把他加入了一堆项目,才知道CODE又有动静了:)

commented

现在 quixote 准备转 Django了么

@motecshine 参考 #113 已经完成了 60% 的 view 迁移