use github action
最近把自动发布从 travis-ci
换成了 github action
。
原因有三:
- github 开放免费私有仓库了,所以把这个博客的源码转成了私有的。
travis-ci.org
不支持私有仓库 (travis-ci.com 是支持私有仓库的)。- github 发布了自己的 actions 功能。
因为 CI/CD 服务的原理都差不多,所以迁移还是很顺利的。
这里记录几个内容,以后可能会用到。
关于内置变量
了解每个 CI/CD 程序提供的内置变量有利于写出高效、美观、简短的脚本。
GitHub Actions 提供的内置变量主要分为 github, job, steps, runner, secrets, strategy, matrix
几个部分,官方文档还给出了一个 .github\workflows\main.yml
的例子,可以自行打印出这些内置变量。
name: CI |
关于 token
GitHub Actions 内置变量自带的 token 只能作用于当前仓库,如果需要操作其他仓库,就需要启用另外的 token 了。
https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line
- 先在账号的
Settings -> Developer settings -> Personal access tokens
中创建一个新的 token 。 - 再在仓库的
Settings -> Secrets
里添加这个 token 。 - 然后就可以在 Actions 中通过
${{secrets.some_token}}
使用了。
关于 Submodule
用的最多的 uses: actions/checkout@v1
带有 submodule 功能,文档地址:https://github.com/actions/checkout
有一点要注意的是:Private submodules must be configured via https not ssh.
,如果 submodule 失败,需要把 submodule 改成 https 协议。
- uses: actions/checkout@v1 |