GithubAction的创建
仓库内点击Actions
,然后点击New workflow
,里面有很多已经写好的,如果点击set up a workflow yourself
的话,在右侧有Marketplace
,可以直接搜索并添加别人的actions。
另一种方法是在仓库的根目录/.github/workflows/内创建一个yml,里面写入action内容。
自动同步fork
正在使用的Workflow
虽然Github自带一个Sync Fork
的按钮,但是每次都自己点总是麻烦的,所以有人搞了个Github Action来做这件事,https://github.com/tgymnich/fork-sync
创建新的workflow后输入里面的内容,以trackerlist为例
1 | name: Sync Fork |
在settings/secrets(Secrets and variables)/actions
里把Github的Token设置上,比如workflow写的是secrets.TOKEN
,所以添加的时候Name填写TOKEN
,Secret里填写Token内容
注意Token创建的时候要选择持续时间,然后权限要开启repo和workflow的权限
如果部署完成之后,运行显示错误是
repo-sync
Failed to create or merge pull request: HttpError: Validation Failed: {“resource”:”PullRequest”,”code”:”custom”,”message”:”No commits between knight000:master and ngosang:master”}
就证明初步成功了,因为你部署了workflow所以比原仓库新,等原仓库更新后点Re-run jobs
就可以测试是否正确部署了。
自动提交修改到Gitee
以下action文件来自https://juejin.cn/post/6894928345830522887
把GITEE_PRIVATE_KEY、GITEE_TOKEN、GITEE_USER都添加到secrets里,然后Gitee内从URL导入仓库,创建同名仓库即可同步。
1 | # 通过 Github actions, 在 Github 仓库的每一次 commit 后自动同步到 Gitee 上 |
因为有if: env.dst_key && env.dst_token && env.gitee_user
这一句所以信息不足的情况下是会跳过执行,显示执行成功而不是显示错误,请注意。