从 Travis-CI 转移到 Github Actions
Contents
前情提要
从去年年底开始 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/github-push-action@v0.5.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
Git Release
- name: Release
uses: ncipollo/release-action@v1.8.6
with:
body: "Release 描述"
name: "Release 名称"
prerelease: true # 是否 prerelease
artifact: SChinese.zip # 提交的文件,还可以多个,用 artifacts
tag: "标签名"
token: ${{ secrets.GITHUB_TOKEN }}
其他
其他的内容基本上可以直接在 run:
中使用 shell 语言即可,没什么好多说的。
感觉难的不在于怎么移植,倒是找到相应的 actions 仓库更难一点。
然后因为有 nodejs 版本上的更新,原来 hexo 博客的主题 Nlvi 不能用了,只能再花点时间找了个新主题,还得支持 livere 评论,好不容易找到这个,好看嘛?