这可能是没有什么人关注的东西,再拖下去这篇文章可能就写不出来了

先放个地址祭天

需求来自这里

做个一个web界面来显示 lilac 自动的打包信息

整套系统分成三个部分(我就是给自己挖坑。。。。用ROR全栈写的才更快)

为了可维护性才分成三部分的。。。。如果我有一天不维护了。可以很轻易的重构其中的某个模块

  • 监听 lilac 的构建日志并把日志发给后端
  • 用ruby on rails 做的API后端KISS2U
  • 前端展示页面KISS2UI

inotifywait.sh (暂时想不到好名字)

监听 lilac 的构建日志并把日志发给后端,和KISS2U 的通信是http到POST请求。使用hmcl认证

监听到build.log 文件发生变化时,会读取文件最后一行,并加一层base64 的壳。然后hmcl签名提交上去

KISS2U

Keep It Simple, Stupid To You…没错。基佬的代名词

我觉得我文档写的还可以。。。。解析 lilac 日志。并把信息存到数据库中。对外提供API接口

API 接口:

https://build.archlinuxcn.org/api/packages/

后面写可以加包名

https://build.archlinuxcn.org/api/packages/trojan-git

KISS2UI

就是个UI而已。使用了vue.js 写的。。。。手机端界面写不下去了。。。。

用了前端路由。使用了vue-router

搜索包名可以用正则。比如:^vim, git$ 之类的

直接看包的历史信息也可以用,比如:

https://build.archlinuxcn.org/packages/#/trojan-git

其实issue 里大部分都已经讲的很细了

其实还有对于orphaning 的情况。。。还没写。。。最经懒癌犯了。写不下去了。。。

自己一个人写前后端分离。。。。我当时脑袋一定是进水了。。。。。

希望我拆成三个部分的思路是对的。。

数据库我一开始想用postgreSQL。。。然后还是被逼改成了SQLite3。。。

好像又没什么可说的了。。。。