前情提要

从去年年底开始 Travis-CI 的 org 站,也就是可以免费用的那个,提示要关站。让用户转移至他家的 com 站,也就是收费的那个。

虽然转移起来确实很快,甚至可以无缝转移,也有免费额度,但经过我一番搜索之后发现,免费额度竟然是一次性的,而非每个月刷新。

后来我想了下,反正我的几个需要自动操作的 repo 基本上都是低频率更新,也不存在挖矿或者签到行为。那还是直接转 Github Actions 吧,毕竟被微软收购之后 Github 愈发财大气粗。

然后就只能开始读 Actions 的文档了。

记一下笔记

触发构建

Cron

on:
  schedule:
    - cron:  '15 7 * * *'

手动触发

on:
  workflow_dispatch:
    inputs:
      name:
        description: 'name'
        required: false
        default: 'test'

构建步骤

Git Checkout

steps:
  - name: Checkout
    uses: actions/checkout@v2

缓存 node_modules

- name: Cache Node.js modules
  uses: actions/cache@v2
  with:
    path: ~/.npm
    key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
      ${{ runner.OS }}-node-
      ${{ runner.OS }}-      

生成环境变量

echo "UTC=$(date -u '+%Z-%y%m%d-%H%M')" >> $GITHUB_ENV
${{ env.UTC }}

Git Push

- name: Git Push
  uses: ad-m/[email protected]
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}

Git Release

- name: Release
  uses: ncipollo/[email protected]
  with:
    body: "Release 描述"
    name: "Release 名称"
    prerelease: true # 是否 prerelease
    artifact: SChinese.zip # 提交的文件,还可以多个,用 artifacts
    tag: "标签名"
    token: ${{ secrets.GITHUB_TOKEN }}

其他

其他的内容基本上可以直接在 run: 中使用 shell 语言即可,没什么好多说的。

感觉难的不在于怎么移植,倒是找到相应的 actions 仓库更难一点。

然后因为有 nodejs 版本上的更新,原来 hexo 博客的主题 Nlvi 不能用了,只能再花点时间找了个新主题,还得支持 livere 评论,好不容易找到这个,好看嘛?