GitHub Actions 支持的一些触发事件,以及如何在工作流配置中使用它们:
push:当你向仓库推送代码时触发。
on: push: branches: - master
pull_request:当有人创建或更新 Pull Request 时触发。
on: pull_request: branches: - master
schedule:在预定的时间触发。你可以使用 cron 语法来指定触发的时间。
on: schedule: - cron: '0 0 * * *'
workflow_dispatch:允许手动触发工作流。你可以在 GitHub 的仓库页面上手动运行工作流。
on: workflow_dispatch:
repository_dispatch:当你通过 GitHub API 创建一个 repository dispatch 事件时触发。
on: repository_dispatch: types: [deploy]
release:当你在仓库中创建一个 release 时触发。
on: release: types: [created]
issue_comment:当有人在 issue 或 Pull Request 中添加评论时触发。
on: issue_comment: types: [created]
以上只是一些常见的触发事件,GitHub Actions 还支持很多其他的事件,如 check_run
、check_suite
、deployment
、fork
、gollum
、label
、milestone
、page_build
、project
、project_card
、project_column
、public
、status
、watch
等等。还可以在 GitHub Actions 文档 中找到更多关于触发事件的信息。
同一个工作流操作是否支持多个触发?
可以在同一个工作流中定义多个触发事件。只需要在on
字段下列出所有你想要的触发事件即可。例如:
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
在这个例子中,工作流将会在以下情况下触发:
- 当有人向
master
分支推送代码时。 - 当有人对
master
分支创建或更新Pull Request时。 - 当有人手动在GitHub仓库页面上运行这个工作流时。
actions推送私人仓库令牌正确有权限却403
remote: Write access to repository not granted.
fatal: unable to access 'https://github.com/***/***.git/': The requested URL returned error: 403
如果看到上面的提示,而且你确定你的令牌没错、权限也给了,那可能要检查这里了(我被这个地方困了4个小时,一直在各种尝试)
仓库设置——操作——通常里翻到最下面
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。