Skip to main content

为组织创建入门工作流程

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

概述

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

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

  • 部署 (CD) 。 有关详细信息,请参阅“关于持续部署”。
  • 安全性。 有关详细信息,请参阅“配置代码扫描的高级设置”。
  • 持续集成 (CI) 。 有关详细信息,请参阅“关于持续集成”。
  • 自动化. 自动化入门工作流提供了自动化工作流的解决方案,例如,对拉取请求分类并根据拉取请求中修改的路径对拉取请求应用标签,或问候首次参与存储库的用户。

创建入门工作流程

入门工作流程可由对组织的 .github 存储库具有写入访问权限的用户创建。 然后,有权限创建工作流程的组织成员便可使用它们。

用户创建的入门工作流程只能用于在公共存储库中创建工作流程。 使用 GitHub Enterprise Cloud 的组织还可以使用入门工作流程在私有仓库中创建工作流程。 有关详细信息,请参阅 GitHub Enterprise Cloud 文档

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

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

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

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

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

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

    例如,名为 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
    
  4. workflow-templates 目录中创建元数据文件。 元数据文件必须与工作流程文件同名,但扩展名不是 .yml,而必须附加 .properties.json。 例如,名为 octo-organization-ci.properties.json 的文件包含名为 octo-organization-ci.yml 的工作流文件的元数据:

    JSON
    {
        "name": "Octo Organization Workflow",
        "description": "Octo Organization CI starter workflow.",
        "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,请参阅“使用入门工作流程”。