用 GitHub CLI 来查看 GitHub Action 执行情况

缘起

最近相当长一段时间,都在调 GitHub action 的 workflow 比较多,而 GitHub 官网时不时抽风,于是就有了在命令行看 GitHub action jobs 的执行情况的需求。

环境准备

GitHub CLI 安装

brew

1
brew install gh

二进制文件

下载链接:https://github.com/cli/cli/releases/download/v2.40.0/gh_2.40.0_macOS_amd64.zip

GitHub CLI 配置

1
gh auth login

然后按照提示一步一步走就行了。
但是我建议的还是下面这种:

1
gh auth login --with-token < mytoken.txt

这里的 mytoken.txt 里的内容来自于:GitHub 官网右上角依次点击 个人头像->Settings,再点左边栏下方 “Developer Settings”,然后再在左边栏点击 “Personal access tokens” 下的 “Tokens(classic)”,在这个页面里创建一个 “PAT(personal access token)”,这个放在 mytoken.txt 文件里就好了。

GitHub CLI 的使用

能用的场景很多,我只讲下我用的场景

1
2
3
4
5
6
7
8
9
10
11
12
cd xxxxxxxxxxx
# "xxxxxxxxxxx" 是 clone 下来的 GitHub 上的某个 repository 的目录
gh run list
# 获取这个 repository 当前正在跑的 GitHub Action 的 workflow 列表
# 注意输出里有个 ID,数字的,记下来
gh run view 7142031754
# 这里的 "7142031754" 就是上一步看到的在跑的 workflow 中你感兴趣的 ID
# 注意:这里输出中会有这个 workflow 正在运行的 job id,记下来
gh run view --job=19450447397
# 这里的 "19450447397" 就是上一步记下来的那个 job 的 ID
# 等这个 job 执行完成以后,可以用下面这个命令来看完整的执行情况
gh run view --log --job=19450447397