注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。
概述
组织中所有有权创建工作流的人员可利用入门工作流,更快、更轻松地创建工作流。 创建新工作流时,你可以选择入门工作流,系统将为你完成编写工作流的部分或全部工作。 你可以使用入门工作流作为基础来构建自定义工作流,或按原样使用。 这不仅可以节省时间,而且促进了整个组织的一致性和最佳做法。
GitHub 为以下高级类别提供现成的入门工作流:
-
部署 (CD) 。 有关详细信息,请参阅“关于持续部署”。
-
持续集成 (CI) 。 有关详细信息,请参阅“关于持续集成”。
-
自动化. 自动化入门工作流提供了自动化工作流的解决方案,例如,对拉取请求分类并根据拉取请求中修改的路径对拉取请求应用标签,或问候首次参与存储库的用户。
Note
由于入门工作流需要公共 .github
存储库,因此它们不适用于 Enterprise Managed Users。
创建入门工作流程
入门工作流可由对组织的_公共_ .github
存储库具有写入访问权限的用户创建。 然后,有权限创建工作流程的组织成员便可使用它们。
注意: 为避免入门工作流程之间的重复,可以从工作流程中调用可重用工作流程。 这有助于使您的工作流程更易于维护。 有关详细信息,请参阅“重新使用工作流”。
此过程演示如何创建入门工作流程和元数据文件。 元数据文件描述了在用户创建新工作流程时如何向用户显示入门工作流程。
-
如果组织中没有名为
.github
的新_公共_存储库,请新建一个。 -
创建名为
workflow-templates
的目录。 -
在
workflow-templates
目录中创建新的工作流文件。如果需要引用存储库的默认分支,可以使用
$default-branch
占位符。 创建工作流程时,占位符将自动替换为仓库默认分支的名称。
注意:runs-on
键中的以下值也被视为占位符:
- 将“ubuntu-latest”替换为“[ self-hosted ]”
- 将“windows-latest”替换为“[ self-hosted, windows ]”
- 将“macos-latest”替换为“[ self-hosted, macOS ]”
例如,名为 octo-organization-ci.yml
的文件演示基本工作流。
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
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
-
在
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": "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
- 可选。 定义用于显示工作流的类别。 可以使用以下列表中的类别名称:- starter-workflows 存储库中的一般类别名称。
- linguist 存储库列表中的 linguist 语言。
- starter-workflows 存储库的列表中支持的技术堆栈。
-
filePatterns
- 可选。 如果用户的存储库在其根目录中具有与定义的正则表达式匹配的文件,则允许使用工作流。
-
若要添加另一个入门工作流程,请将文件添加到相同的 workflow-templates
目录。
后续步骤
若要继续了解 GitHub Actions,请参阅“使用入门工作流程”。