Index / Blog

使用 GitHub Actions 自动上传搜索记录到 Algolia

原文:https://ichochy.com/posts/blog/20210612.html

博客使用 Algolia 实现搜索功能,手动上传搜索记录数据一直很烦琐,只好苦学 API 和 Action,通过 GitHub Actions 实现自动上传搜索记录到 Algolia,完美呈现。

GitHub Actions

使用 GitHub Actions 在您的存储库中自动化、自定义和执行您的软件开发工作流程。您可以发现、创建和共享操作以执行您喜欢的任何作业,包括 CI/CD,并在完全自定义的工作流中组合操作。

生成搜索数据

数据格式

[
  {
    "objectID": 1,
    "url": "https://ichochy.com",
    "title": "回忆中的明天",
    "summary": "码农小站,写点Java、Swift和感悟",
    "content": "码农小站,写点Java、Swift和感悟",
    "pubDate": "2021-06-01T11:25:45+08:00"
  } 
]

数据生成参考: 使用 Algolia 云引擎,实现个人博客 Hugo 本地智能搜索

设置 Secrets

Settings => Secrets => New repository secret

162380894499277918

Algolia 参数信息

注: FILE_PATH 以项目为起点目录,如: iChochy.github.io/docs/algolia.json 填写 docs/algolia.json

162381887074727919

API KEYS

API KEY

新建 Actions

新建自己的工作流程

162381956373099720

写入工作流程

文件路径如:iChochy.github.io/.github/workflows/main.yml

162381977872430521

具体内容

name: Algolia Upload Records
on:
  [push] #推送时执行
jobs:
  algolia:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        # 获取代码 Checkout
        uses: actions/checkout@v2
      - name: Upload Records
        # 使用 Action
        uses: iChochy/Algolia-Upload-Records@main
        # 设置环境变量
        env:
          APPLICATION_ID: ${{secrets.APPLICATION_ID}}
          ADMIN_API_KEY: ${{secrets.ADMIN_API_KEY}}
          INDEX_NAME: ${{secrets.INDEX_NAME}}
          FILE_PATH: ${{secrets.FILE_PATH}}

执行过程和结果

Actions => Workflows 中查询所有工作流程的工作日志

上传记录成功后会返回数据记录 ID

162381997971999822

引用