Hi!~
可以叫我Doho,我是一名前端开发,开源社区的爱好者。
前言
作为一名长期混迹GitHub的开源萌新,由于厚着脸皮开通了属于自己的GitHub赞助计划,所以也混来了几位金主大佬,那给金主大佬们摆在自己最得意的项目中,想必也是顺理成章的事。
整个过程是通过GitHub CI自动更新的,那其中我都做了什么呢?今天和大家一起分享下~
思路
首先我们来梳理一下期望的样子,我们希望有一个仓库能完成产出金主信息图片的工作,然后每当我们新建一个仓库时,仅需要在README中链接此仓库产出的图片链接就好了,大概看起来是这样子。
开始
- 创建产出金主信息的仓库。
- 对CI进行配置,在根目录中创建.github/workflows目录,并在目录中添加一份配置文件,这里我起名叫做sponsors.yml,接着开始进行配置。
# 工作流名称
name: sponsors
on:
# 增加一份定时任务,具体时间可任意指定
schedule:
# 这里指定为每天早晨7:00更新
- cron: '0 0 7 * *'
jobs:
update-sponsors:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Update sponsors
# 使用sponsorkit工具生成Sponsors图片到根目录
run: npx sponsorkit -f -w 800 --dir . && npx sponsorkit -f -w 1300 --name sponsors.wide --dir .
env:
# 使用仓库内配置好的Token
SPONSORKIT_GITHUB_TOKEN: ${{ secrets.SPONSORS_TOKEN }}
SPONSORKIT_GITHUB_LOGIN: dohooo
- name: Commit
uses: EndBug/add-and-commit@v4
with:
# 提交信息
message: "chore: update sponsors.svg"
# 提交内容
add: "."
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
其中sponsorkit是antfu制作的小工具,它主要做的事情是通过node向GitHub的开放api去获得Sponsors信息,并将其简单排版输出。
对于用到的 ${{ secrets.SPONSORS_TOKEN }},具体的配置方式如下。
创建时我们注意选中这四种权限即可。
gist, public_repo, read:org, read:user
再将生成的TOKEN保存起来,粘贴到我们创建的Sponsors项目中。
名字为 SPONSORS_TOKEN,再将Token写入。
- 链接生成的图片
现在我们将代码提交至仓库便可以看到任务开始执行。
短暂的等待后回到Code栏,便可以看到生成的Sponsors图片,✌️。
现在我们可以通过链接 github.com/dohooo/spon… 来使用我们生成的图片。
链接的替换方式为 github.com/[用户名]/[仓库名]…
结尾
我是Doho,关注我GitHub和我一起参与各种有意思的开源项目。
sponsors: github.com/dohooo/spon…
Github: github.com/dohooo
Twitter:twitter.com/doho_1016