Skip to main content

此版本的 GitHub Enterprise Server 将于以下日期停止服务 2025-08-27. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

关于自定义操作

操作是可以组合来创建作业和自定义工作流程的单个任务。 您可以创建自己的操作,或者使用和自定义 GitHub 社区分享的操作。

注意

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

关于自定义操作

您可以编写自定义代码来创建操作,以您喜欢的方式与仓库交互,包括使用 GitHub 的 API 以及任何公开的第三方 API 进行交互。 例如,操作可以发布 npm 模块、在创建紧急问题时发送短信提醒,或者部署可用于生产的代码。

操作可以直接在计算机或 Docker 容器中运行。 您可以定义操作的输入、输出和环境变量。

操作的类型

注意

You can build Docker container, JavaScript, and composite actions. Actions require a metadata file to define the inputs, outputs, and runs configuration for your action. Action metadata files use YAML syntax, and the metadata filename must be either action.yml or action.yaml. The preferred format is action.yml.

类型LinuxmacOSWindows
Docker 容器
JavaScript
复合操作

Docker 容器操作

Docker 容器使用 GitHub Actions 代码封装环境。 这会创建更加一致、可靠的工作单位,因为操作的使用者不需要担心工具或依赖项。

Docker 容器允许使用特定版本的操作系统、依赖项、工具和代码。 对于必须在特定环境配置中运行的操作,Docker 是一个理想的选择,因为您可以自定义操作系统和工具。 由于创建和检索容器的延时,Docker 容器操作慢于 JavaScript 操作。

Docker 容器操作只能在使用 Linux 操作系统的运行器上执行。 自托管运行器必须使用 Linux 操作系统并安装 Docker 才能运行 Docker 容器操作。 有关自托管运行程序要求的详细信息,请参阅“自托管运行程序”。

JavaScript 操作

JavaScript 操作可以直接在运行器计算机上运行,并将操作代码与用于运行代码的环境分开。 使用 JavaScript 操作可简化操作代码,执行速度快于 Docker 容器操作。

要确保您的 JavaScript 操作与所有 GitHub 托管的运行器(Ubuntu、Windows 和 macOS)兼容,您编写的封装 JavaScript 代码应该是纯粹的 JavaScript,不能依赖于其他二进制文件。 JavaScript 操作直接在运行器上运行,并使用运行器映像中已存在的二进制文件。

如果您正在开发 Node.js 项目,GitHub Actions 工具包提供可用于项目中加速开发的软件包。 有关详细信息,请参阅 actions/toolkit 存储库。

复合操作

复合操作允许你在一个操作中组合多个工作流步骤。 例如,您可以使用此功能将多个运行命令捆绑到一个操作中,然后获得使用该操作在单一步骤中执行捆绑命令的工作流程。 若要查看示例,请查看“创建组合操作”。

后续步骤

如需了解如何管理自定义操作,请参阅 管理自定义操作