默认环境变量
GitHub 设置的默认环境变量可用于工作流程中的每个步骤。
由于默认环境变量由 GitHub 设置,并且未在工作流中进行定义,因此无法通过 env
上下文访问它们。 但是,大多数默认变量都有一个对应且名称类似的上下文属性。 例如,在工作流处理期间,可以使用 ${{ github.ref }}
上下文属性读取 GITHUB_REF
变量的值。
不能覆盖名为 GITHUB_*
和 RUNNER_*
的默认环境变量的值。 目前可以覆盖 CI
变量的值。 但是,并不能保证这总是可行。 有关设置环境变量的详细信息,请参阅“为单个工作流定义环境变量”和“GitHub Actions 的工作流命令”。
强烈建议操作使用变量访问文件系统,而非使用硬编码的文件路径。 GitHub 设置供操作用于所有运行器环境中的变量。
变量 | 说明 |
---|---|
CI |
始终设置为 true 。 |
GITHUB_ACTION |
正在运行的操作的名称,或步骤的 id 。 例如,对于操作,为 __repo-owner_name-of-action-repo 。
在当前步骤运行不带 |
GITHUB_ACTION_ |
操作所在的路径。 此属性仅在复合操作中受支持。 你可以使用此路径更改该操作加载的地点目录,并访问同一存储库里的其他文件。 例如 / 。 |
GITHUB_ACTION_ |
对于执行操作的步骤,这是操作的所有者和存储库名称。 例如 actions/checkout 。 |
GITHUB_ACTIONS |
当 GitHub Actions 运行工作流时,始终设置为 true 。 您可以使用此变量来区分测试是在本地运行还是通过 GitHub Actions 运行。 |
GITHUB_ACTOR |
发起工作流程的个人或应用程序的名称。 例如 octocat 。 |
GITHUB_ACTOR_ID |
触发初始工作流运行的个人或应用的帐户 ID。 例如 1234567 。 请注意,这与参与者用户名不同。 |
GITHUB_API_URL |
返回 API URL。 例如:https:/ 。 |
GITHUB_BASE_REF |
工作流程运行中拉取请求的基本引用或目标分支的名称。 仅当触发工作流运行的事件是 pull_request 或 pull_request_ 时才设置此属性。 例如 main 。 |
GITHUB_ENV |
运行器上从工作流命令设置变量的文件的路径。 此文件的路径对于当前步骤是唯一的,并且在作业的每个步骤中都会更改。 例如 / 。 有关详细信息,请参阅“GitHub Actions 的工作流命令”。 |
GITHUB_EVENT_NAME |
触发工作流程的事件的名称。 例如 workflow_dispatch 。 |
GITHUB_EVENT_PATH |
运行器上包含完整事件 web 挂钩负载的文件的路径。 例如 / 。 |
GITHUB_GRAPHQL_ |
返回 GraphQL API URL。 例如:https:/ 。 |
GITHUB_HEAD_REF |
工作流程运行中拉取请求的头部引用或来源分支。 仅当触发工作流运行的事件是 pull_request 或 pull_request_ 时才设置此属性。 例如 feature-branch-1 。 |
GITHUB_JOB |
当前作业的 job_id。 例如 greeting_job 。 |
GITHUB_OUTPUT |
运行器上从工作流命令设置当前步骤输出的文件的路径。 此文件的路径对于当前步骤是唯一的,并且在作业的每个步骤中都会更改。 例如 / 。 有关详细信息,请参阅“GitHub Actions 的工作流命令”。 |
GITHUB_PATH |
运行器上从工作流命令设置系统 PATH 变量的文件的路径。 此文件的路径对于当前步骤是唯一的,并且在作业的每个步骤中都会更改。 例如 / 。 有关详细信息,请参阅“GitHub Actions 的工作流命令”。 |
GITHUB_REF |
触发工作流运行的分支或标记的格式完整的参考。 对于 push 触发的工作流,这是推送的分支或标记参考。 对于 pull_request 触发的工作流,这是拉取请求合并分支。 对于 release 触发的工作流,这是创建的发布标记。 对于其他触发器,这是触发工作流运行的分支或标记参考。 此变量仅在分支或标记可用于事件类型时才会设置。 给定的参考格式完整,这意味着对于分支,其格式为 refs/ ,对于拉取请求,其格式为 refs/ ,对于标签,其格式为 refs/ 。 例如,refs/ 。 |
GITHUB_REF_NAME |
触发工作流运行的分支或标记的短参考名称。 此值与 GitHub 上显示的分支或标记名称匹配。 例如 feature-branch-1 。
拉取请求的格式为 |
GITHUB_REF_PROTECTED |
如果为触发工作流运行的 ref 配置分支保护 或 规则集 ,则为 true 。 |
GITHUB_REF_TYPE |
触发工作流运行的 ref 类型。 有效值为 branch or tag 进行求值的基于 SQL 语言的筛选器表达式。 |
GITHUB_REPOSITORY |
所有者和仓库名称。 例如 octocat/ 。 |
GITHUB_REPOSITORY_ |
存储库的 ID。 例如 123456789 。 请注意,这与存储库名称不同。 |
GITHUB_REPOSITORY_ |
存储库所有者的名称。 例如 octocat 。 |
GITHUB_REPOSITORY_ |
存储库所有者的帐户 ID。 例如 1234567 。 请注意,这与所有者名称不同。 |
GITHUB_RETENTION_ |
工作流运行日志和项目保留的天数。 例如 90 。 |
GITHUB_RUN_ATTEMPT |
存储库中每次尝试运行特定工作流的唯一编号。 对于工作流程运行的第一次尝试,此数字从 1 开始,并随着每次重新运行而递增。 例如 3 。 |
GITHUB_RUN_ID |
存储库中每个工作流运行的唯一编号。 如果您重新执行工作流程运行,此编号不变。 例如 1658821493 。 |
GITHUB_RUN_NUMBER |
仓库中特定工作流程每个运行的唯一编号。 工作流首次运行时,此编号从 1 开始,并随着每次新的运行而递增。 如果您重新执行工作流程运行,此编号不变。 例如 3 。 |
GITHUB_SERVER_URL |
GitHub 服务器的 URL。 例如:https:/ 。 |
GITHUB_SHA |
触发工作流的提交 SHA。 此提交 SHA 的值取决于触发工作流程的事件。 有关详细信息,请参阅“触发工作流的事件”。 例如,ffac537e6cbbf934b08745a378932722df287a53 。 |
GITHUB_STEP_SUMMARY |
运行器上包含工作流命令中的作业摘要的文件的路径。 此文件的路径对于当前步骤是唯一的,并且在作业的每个步骤中都会更改。 例如 / 。 有关详细信息,请参阅“GitHub Actions 的工作流命令”。 |
GITHUB_TRIGGERING_ |
发起工作流运行的用户的用户名。 如果工作流运行是重新运行,则此值可能与 github.actor 不同。 即使启动重新运行的参与者 (github.triggering_actor ) 具有不同的权限,任何工作流重新运行都将使用 github.actor 的权限。 |
GITHUB_WORKFLOW |
工作流的名称。 例如 My test workflow 。 如果工作流文件未指定 name ,则此变量的值是存储库中工作流文件的完整路径。 |
GITHUB_WORKFLOW_ |
工作流的引用路径。 例如,octocat/ 。 |
GITHUB_WORKFLOW_ |
工作流文件的提交 SHA。 |
GITHUB_WORKSPACE |
运行器上步骤的默认工作目录,以及使用 checkout 操作时存储库的默认位置。 例如 / 。 |
RUNNER_ARCH |
执行作业的运行器的体系结构。 可能的值为 X86 、X64 、ARM 或 ARM64 。 |
RUNNER_DEBUG |
仅当启用调试日志记录并且始终具有值 1 时,才会进行此设置。 它可以用作指示器,以便在自己的作业步骤中启用更多调试或详细日志记录。 |
RUNNER_ENVIRONMENT |
执行作业的运行器的环境。 可能的值包括:对于 GitHub 提供的 GitHub 托管的运行器为 github-hosted ,对于存储库所有者配置的自承载运行器为 self-hosted 。 |
RUNNER_NAME |
执行作业的运行器的名称。 此名称在工作流运行中可能并不唯一,因为存储库和组织级别的运行器可以使用同一名称。 例如 Hosted Agent |
RUNNER_OS |
执行作业的运行器的操作系统。 可能的值为 Linux 、Windows 或 macOS 。 例如 Windows |
RUNNER_TEMP |
运行器临时目录的路径。 此目录在每个作业的开始和结束时都是空的。 注意,如果运行者的用户帐户没有权限删除这些文件,则不会被删除。 例如 D:\a\_temp |
RUNNER_TOOL_CACHE |
包含 GitHub 托管运行器预安装工具的目录路径。 有关详细信息,请参阅“使用 GitHub 托管的运行器”。 例如 C:\ |
注意****:如果需要在工作中使用工作流运行的 URL,可以组合以下变量:$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
原文地址:
THE END