简介
gobuild.io是一个在线服务的网站 http://gobuild.io。可以提供golang这门静态编译语言的在线编译和下载。但因为时间和精力缺乏的缘故,我想将项目交给一个可以维护他的人。
访问量
先说下风投最关心访问量。一开始关注度不是很高,每天也就3个左右的人访问。访问量是后来才上去的。访问人数最多的时候是2000,现在平均每天的访问人数大概是在70左右。因为我的疏于关怀,目前访问人数真的好少。但这是一个很好的项目,就像豌豆荚,Google Play,他就像是一个软件获取的入口。
开源
网站从2014年初的时候开始写的,从一开始就是开源的,偶尔还能收到些pull request。当时学go语言差不多也已经1年的时间了。我也正是从gobuild.io这个项目开始,加入了开源界。从此喜欢上了看源代码,翻github上的issue,提pull request。把电脑放在膝盖上,用键盘在屏幕上敲出一排排漂亮的符号。也有幸通过开源认识了好多年轻活力的朋友们。生活中常常会有惊喜,记得我还收到一个issue叫 Love you project!。到现在我还记得。不过我有点对不起提issue的作者,至今没给他写过什么文章。
不过开源意味着更多的挑战,它不像你在小的公司里,写出的代码只需要跟同事比个高下。在开源界,你面对的是全世界的黑客高手,常常一个字母的代码修改就会让你惊叹不已。这里的目光也更苛刻,差劲的项目很快就会被优秀的拍死在沙滩上。有时会庆幸有天你写的一个项目竟然在开源界活了下来,真实不容易啊。
要求
写代码会遇到各种各样的问题,但只要有热情,这些都是小事。
gobuild.io生存了大概有一年了。网站的版本更替了3个版本。
- gobuild1: https://github.com/codeskyblue/gobuild
- gobuild2: https://github.com/gobuild/gobuild2
- gobuild3: https://github.com/gobuild/gobuild3
gobuild1 用了golang和shell。 gobuild2是纯go语言的。而gobuild3很有意思,用了golang,shell和python3中主要的语言。
gobuild1和gobuild2已经不维护了。我主要说下gobuild3。如果你愿意接手,还是需要了它到底用了哪些技术的。
web框架用了python-flask,不用go的框架带原因很简单,因为我时间很少,我需要很快的写完。用python大概只用了4天的时间就把基本功能全实现了。而用go写gobuild2的时候,我用了差不多两个星期。(go的脑残粉也可以说我go语言很烂)
从一个go的源码如何生成对最终的打包文件是go语言写的,这部分用了点gobuild2的成果。代码
还用到了docker. 主要是为了能够实现golang的cgo交叉编译。用到了这个项目:https://github.com/karalabe/xgo
为了能让用户更快的下载文件,也用到了七牛云存储,用了一个比较简单的方法实现了多个机器编译和安全策略。
so, 你可能需要会python,会golang,还需要会点前端技术。可能还需要点money来维持网站的日常开销。
想做还没做的
接手他可以学到什么? 放心有很多作业可以做的
- 编译时,指定go的版本
- golang的相对路径问题
- 软件下载排行
- 优秀软件推荐和RSS订阅
- 下载量过低的文件自动从云存储中删除,以节省空间
- 一个漂亮的logo
- 客户端工具,类似apt-get可以自动从gobuild.io上下载文件,并安装到本地
- github代码更新的hook
必须要保留的东西
可以免费的编译开源的软件,并提供下载。
最后把最高的敬意,献给可以接手项目的人,你让这个项目有了活下去的希望。