Skip to main content

Enterprise Server 3.15 目前作为候选发布提供。

为组织创建工作流模板

了解如何创建工作流模板,以帮助团队中的人员更轻松地添加新工作流。

注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。

概述

组织中所有有权创建工作流的人员可利用工作流模板,更快、更轻松地创建工作流。 创建新工作流时,你可以选择工作流模板,系统将为你完成编写工作流的部分或全部工作。 你可以使用工作流模板作为基础来构建自定义工作流,或按原样使用。 这不仅可以节省时间,而且促进了整个组织的一致性和最佳做法。

GitHub 为以下高级类别提供现成的工作流模板:

Note

由于工作流模板需要公共 .github 存储库,因此它们不适用于 Enterprise Managed Users。

创建工作流模板

工作流模板可由对组织的_公共_ .github 存储库具有写权限的用户创建。 然后,有权限创建工作流程的组织成员便可使用它们。

注意: 为避免工作流模板之间的重复,可以从工作流中调用可重用的工作流。 这有助于使您的工作流程更易于维护。 有关详细信息,请参阅“重新使用工作流”。

此过程演示如何创建工作流模板和元数据文件。 元数据文件描述了在用户创建新工作流时如何向用户显示工作流模板。

  1. 如果组织中没有名为 .github 的新_公共_存储库,请新建一个。

  2. 创建名为 workflow-templates 的目录。

  3. workflow-templates 目录中创建新的工作流文件。

    如果需要引用存储库的默认分支,可以使用 $default-branch 占位符。 创建工作流程时,占位符将自动替换为仓库默认分支的名称。

注意:runs-on 键中的以下值也被视为占位符:

  • 将“ubuntu-latest”替换为“[ self-hosted ]”
  • 将“windows-latest”替换为“[ self-hosted, windows ]”
  • 将“macos-latest”替换为“[ self-hosted, macOS ]”

例如,名为 octo-organization-ci.yml 的文件演示基本工作流。

YAML
name: Octo Organization CI

on:
  push:
    branches: [ $default-branch ]
  pull_request:
    branches: [ $default-branch ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Run a one-line script
        run: echo Hello from Octo Organization
  1. workflow-templates 目录中创建元数据文件。 元数据文件必须与工作流程文件同名,但扩展名不是 .yml,而必须附加 .properties.json。 例如,名为 octo-organization-ci.properties.json 的文件包含名为 octo-organization-ci.yml 的工作流文件的元数据:

    JSON
    {
        "name": "Octo Organization Workflow",
        "description": "Octo Organization CI workflow template.",
        "iconName": "example-icon",
        "categories": [
            "Go"
        ],
        "filePatterns": [
            "package.json$",
            "^Dockerfile",
            ".*\\.md$"
        ]
    }
    
    • name - 必选。 工作流的名称。 这会显示在可用工作流程列表中。

    • description - 必选。 工作流的说明。 这会显示在可用工作流程列表中。

    • iconName - 可选。 指定工作流列表中显示的工作流图标。 iconName 可以是以下类型之一:

      • 存储在 workflow-templates 目录中的 SVG 文件。 若要引用文件,该值必须是不带文件扩展名的文件名。 例如,名为 example-icon.svg 的 SVG 文件被引用为 example-icon
      • 来自 GitHub 的 Octicons 集的图标。 若要引用 octicon,该值必须为 octicon <icon name>。 例如 octicon smiley
    • categories - 可选。 定义用于显示工作流的类别。 可以使用以下列表中的类别名称:

    • filePatterns - 可选。 如果用户的存储库在其根目录中具有与定义的正则表达式匹配的文件,则允许使用工作流。

若要添加另一个工作流模板,请将文件添加到相同的 workflow-templates 目录。

后续步骤

若要继续了解 GitHub Actions,请参阅“使用工作流模板”。