
获得徽章 5
- learnGitBranching:一个可视化学习 git 的网站
learngitbranching.js.org,虽然项目有些悠久,如果学习 git 的话可以来玩下。GitHub 地址:
github.com
4179 - 421
- 今天看了一下「瓦力」这个发布系统的源代码,总的而言还是挺简单的,考虑到他们是用 Python 写的,所以更加简洁,看了一下他们的架构图其实和他们目前的代码不太一样,没有看到所谓的「计算节点」和「大数据服务器」,另外同步方式也从 rsync 变成了 scp。我(们)也是做发布系统的,代码复杂度而言比开源的这个相对较复杂,看了一下抛弃 rsync 的 commit,并没有很好的说服我,目前我们用 rsync 也没有非常严重的问题,此外 scp 也不能进行增量同步操作。Hook 的做法也比较简单粗暴,不过作为一个开源项目可能也就得这样搞。就我个人而言这种我更倾向于拆成一个个更小的服务,Hook 作为一个单独的服务去运行(甚至可以用发布系统来发布 Hook 系统哦)。「瓦力」给我带来的另一个困惑是,当发布规模大了之后(比如整公司来说一天可能有上千次发布),而他们使用的软链模式把历史都放在了服务器上虽然方便回滚,但是却没有在代码上见到回收操作,这样就会存在问题。当然我们目前在 「rsync + 增量」回滚上也是有一些麻烦的,这个不太好搞。
先总结到这里吧,Emmm,萌豚发言,欢迎指摘。展开210