当前位置:   article > 正文

把代码仓库当做数据库,github action持久化存储新思路_github action 持久化参数

github action 持久化参数

背景

我想做一个rss订阅机器人,通过一个定时任务定期将我关注的内容推送到我的 Tailchat 群组。但是我又不想自己去单独搭建一个服务器来部署,因为功能很小、单独部署的成本会被放大,也不容易被其他人很简单的使用。而且长期维护的成本也是比较高的,希望能处于无人值守的运行模式

那么整理一下需求:

  • 定时任务
  • 简单部署
  • 不需要运维

可以说是非常理想了,那么有这样成熟的解决方案么?答案是有的。那就是github action

Github action 可以满足我的所有需求,只需要一个简单的定时任务即可实现我的三个需求。唯一的难点在于数据库,也就是持久化存储。

众所周知,rss机器人的原理就是定时请求rss订阅地址,将返回的内容结构化以后与之前存储的数据进行比较,将更新的信息提取出来发送到外部服务。那么为了能够比较差异,一个持久化的数据库是必不可少的。那么github action可以实现数据库么?答案是可以的,我只需要将数据存储在代码仓库中,每次执行action之前将数据取出,然后在action执行完毕之后将数据存回仓库,那么一个用于低频读写的文件数据库就实现了。

理论存在,实践开始!

开始造轮子

在github上搜索了一圈没有发现有现成的轮子,因此就开始自己造一个。

核心流程如下:

准备数据流程
  • 通过git worktree创建一个独立的工作区
  • 指定工作区的分支为一个独立分支用于存储数据
  • 如果该分支之前不存在
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/69184
推荐阅读
相关标签
  

闽ICP备14008679号