跳至主要内容

设置默认 Shell 和工作目录

定义将应用于工作流中所有作业或作业中所有步骤的默认设置。

概述

使用 defaults 创建一个 map,其中包含将应用于工作流中所有作业的默认设置。你还可以设置仅对作业可用的默认设置。有关更多信息,请参阅 jobs.<job_id>.defaults

当使用相同名称定义多个默认设置时,GitHub 将使用最具体的默认设置。例如,在作业中定义的默认设置将覆盖在工作流中定义的具有相同名称的默认设置。

设置默认 Shell 和工作目录

你可以使用 defaults.run 为工作流中的所有 run 步骤提供默认的 shellworking-directory 选项。你还可以设置仅对作业可用的 run 的默认设置。有关更多信息,请参阅 jobs.<job_id>.defaults.run。在此关键字中,你无法使用上下文或表达式。

当使用相同名称定义多个默认设置时,GitHub 将使用最具体的默认设置。例如,在作业中定义的默认设置将覆盖在工作流中定义的具有相同名称的默认设置。

示例:设置默认 Shell 和工作目录

defaults:
  run:
    shell: bash
    working-directory: ./scripts

为特定作业设置默认值

使用 jobs.<job_id>.defaults 创建一个 map,其中包含将应用于作业中所有步骤的默认设置。你还可以为整个工作流设置默认设置。有关更多信息,请参阅 defaults

当使用相同名称定义多个默认设置时,GitHub 将使用最具体的默认设置。例如,在作业中定义的默认设置将覆盖在工作流中定义的具有相同名称的默认设置。

为作业设置默认 Shell 和工作目录

使用 jobs.<job_id>.defaults.run 为作业中的所有 run 步骤提供默认的 shellworking-directory

您可以为作业中的所有run步骤提供默认的shellworking-directory选项。您还可以为整个工作流设置run的默认设置。有关更多信息,请参阅defaults.run

这些可以在jobs.<job_id>.defaults.runjobs.<job_id>.steps[*].run级别覆盖。

当使用相同名称定义多个默认设置时,GitHub 将使用最具体的默认设置。例如,在作业中定义的默认设置将覆盖在工作流中定义的具有相同名称的默认设置。

示例:为作业设置默认run步骤选项

jobs:
  job1:
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
        working-directory: ./scripts