成人一对一视频交友

有个奇怪的想法,基于Github Actions,支持代码热更新,配置网络发布的自动定时任务。

elbert
elbert

这个想法诞生的缘由

马上要毕业了,因为没出去实习,赶时间。前两天写了一个叫bilibili-helper的程序,用GitHub Actions在BILIBILI-HELPER日存款和签到。详情请看如何使用GitHub Action定时任务实现bi-li签到,轻松获得65点的日常体验。

关键是由于频繁的更新,功能逐渐增多,但是fork仓库的用户基本都是使用Fork的版本,只有少数用户会从源仓库拉最新更新的代码,极少数用户会删除库重新Fork,非常繁琐。

所以在和另一位网友的讨论中,我想起了Travis CI可以写仓库,只需要一个对用户仓库有读写权限的个人访问令牌。然后我进一步发现,使用Github Actions的机器人不用使用Personal access令牌就可以写入仓库。所以用下面的自动更新脚本,每周五16点从源仓库自动拉取最新的版本文件,更新到Fork仓库。

名称:自动合并

:

workflow_dispatch:

schedule:

– cron: 0 16 * *星期五

# cron表达式,每周五16: 00执行一次,可以根据需求定制。

jobs:

merge:

运行-: Ubuntu-最新

步骤:

-名称:结账

uses : actions/[email protected]

带:

ref: main

提取深度: 0

lfs:真

-名称:设置git标识

run :

git config-global user . email ‘ 41898282 github-actions[bot]@ users . no reply . github.com ‘

git config-global user . name ‘ github-actions[bot]’

-名称:加载上游提交

运行: |

git更新-索引-假设-不变。/src/main/resources/config . JSON

git拉https://github.com/JunzhouLiu/BILIBILI-HELPER.git-日志-不提交

-名称:应用提交更改

运行: |

if [ -f ./。git/MERGE _ MSG];然后

mkdir。/tmp cp。/。git/MERGE_MSG。/tmp/消息

sed-I ‘ 1c[bot]AutoGeging :合并所有上游变更: ‘。/tmp/消息

sed -i ‘/^\#.*/d ‘。/tmp/消息

git commit – file=’。/tmp/message ‘

其他

回应“没有合并提交”

船方不负担装货费用

-名称:推送提交

env:

下游_支路:主

TZ:亚洲/上海

run : git push origin $ DOCUMENT _ BRANCH

但是问题又来了。我在仓库里用config.json支持自定义函数配置。如果采用这种方法,后续版本的config.json的更新或扩展会导致用户仓库中的config文件被覆盖。结果今天早上我恍然大悟。最终计划。

自定义配置可以从网络加载,自建一个配置服务,用户通过 UID 在网页上进行配置自定义功能,仓库只负责储存功能代码和敏感的Secrets(因为登录 B 站需要 Cookies ),当程序运行时根据用户 uid,当前版本库版本,向配置服务请求配置下发。 这样就能做到源头仓库更新代码,下游仓库自动同步代码,并且不影响配置,并且做到了前后兼容

做到这些只需要两个 Action Job,一个执行定时任务,一个定时从源头仓库拉取更新然后 Merge 。 我也只需要用很少的资源自建一个配置下发服务,然后就完成了一整套的代码热更新服务。

查了下,发现 Github Actions 有每个用户有资源限额,如果在限额内,害,这应该就不算 abuse 吧。

elbert
品牌