关于 GITHUB_TOKEN
在每个工作流作业开始时,GitHub 会自动创建唯一的 GITHUB_TOKEN 机密以在工作流中使用。 可以使用 GITHUB_TOKEN 在工作流作业中进行身份验证。
当您启用 GitHub Actions 时,GitHub 在您的仓库中安装 GitHub App。
GITHUB_TOKEN 机密是一种 GitHub App 安装访问令牌。 你可以使用安装访问令牌代表仓库中安装的 GitHub App 进行身份验证。 令牌的权限仅限于包含您的工作流程的仓库。 有关详细信息,请参阅 GitHub Actions 的工作流语法。
在每个作业开始之前,GitHub 提取用于作业的安装访问令牌。 作业完成或在其有效最长生存期之后,GITHUB_TOKEN 会过期。
令牌的最大有效寿命取决于运行器的类型:
-
**GitHub托管的运行器** 最大作业执行时间为 6 小时,因此`GITHUB_TOKEN` 最多可以运行 6 小时。 -
**自托管运行器** 最长作业执行时间为 5 天。 但是,由于 `GITHUB_TOKEN` 是安装访问令牌,因此最多只能刷新 24 小时。 如果作业运行时间超过 24 小时,请改用 personal access token 或其他身份验证方法。
令牌也可以在 github.token 上下文中使用。 有关详细信息,请参阅 上下文参考。
当 GITHUB_TOKEN 触发工作流运行时
使用仓库的 GITHUB_TOKEN 执行任务时,GITHUB_TOKEN 触发的事件(workflow_dispatch 和 repository_dispatch 除外)不会创建新的工作流运行。 这可以防止意外创建递归工作流程运行。 例如,如果工作流运行使用存储库的 GITHUB_TOKEN 推送代码,则即使存储库包含配置为在 push 事件发生时运行的工作流,新工作流也不会运行。
后续步骤
-
[AUTOTITLE](/actions/how-tos/security-for-github-actions/security-guides/use-github_token-in-workflows) -
[AUTOTITLE](/actions/reference/workflow-syntax-for-github-actions#permissions)