又一个 GitHub/GitLab Webhook 监听程序

2019-04-26 07:20:50 +08:00
 RedL0tus

Repo: https://github.com/RedL0tus/trigger

嗯... 这是一个轮子,还是个氧化之后的轮子。

应用场景

在一些简单的场景下可以代替 CI 实现自动部署等等。

之前用过一些别的监听 GitHub webhook 的程序,但是它们大多是 Python 或 Node 之类写的,跑在我的 256MB 内存的小鸡上面内存有点吃紧。正好我当时学了一下 Rust 就自己造了一个库和一个 CLI 程序出来。

从写出来开始我就在我自己的一些别的坑上面用了,应该没什么大问题。

其实一开始是用的别人的库写的,只能根据 GitHub 发来的请求执行对应的命令。后来发现当时用的那个库已经很久没更新了,迁移上新的依赖也跟重写一个差不多了(现在 Rust 的生态就有这么个问题,一大票 0.X 的库,API 老是改)。

这两天我放假没事情干把库和程序完善了一下加了点功能,给程序发了个 1.0 版(因为我觉得可能有用的功能已经做出来了),过来打个广告。

它能做什么

更多细节可以看 README。我英语和语文都不是很好还请各位大佬原谅(感觉我这中文 README 写得像是在丢中国人的脸)。

安装方法

愿意自己编译的话可以通过 rustup 安装 Rust 的工具链,然后使用 cargo install trigger 进行安装。

如果机器配置太差或不想装工具链的话,release 页面里有使用 musl 静态链接的 Linux x86_64 的二进制可供下载(约 2.0MB )。

(因为 Rust 默认配置下编译出来的二进制有点肥,我参照了 https://github.com/johnthagen/min-sized-rust 上的一些建议,然后使用了 musl 工具链静态链接,这样编译出来的二进制比用 glibc 动态链接的要小一点,又方便在不同发行版之间共用。)

Windows 下我没测试过,但是这里使用的库应该都是纯 Rust 的所以理论上 Windows 下应该也能编译使用,就是配置文件里的 shell 脚本的语言会变成 Windows 的 cmd (根据 run_script 的 README )。

(不过我想 Windows 上用这些的应该也不是很多?)

装好之后建议再套一层 nginx 之类的逆向代理,因为我自己的喜好问题等等没给它做独立的 HTTPS 支持。


这是我第一次把我写的东西拿出来打广告... 感觉有点不要脸(小声

3914 次点击
所在节点    程序员
4 条回复
deviluser
2019-04-26 07:41:28 +08:00
uilvn
2019-04-26 09:17:15 +08:00
己赞
luassuns
2019-04-26 09:58:35 +08:00
昨天刚开始想用 Rust 做,跟你的情况一样,小鸡顶不住。
star star !
yim7
2019-04-26 10:10:12 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/558817

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX