22 创建自定义行动
在上一篇中,我们探讨了如何使用 GitHub Actions 市场上的第三方行动来提升我们的工作流程。今天,我们将深入学习如何创建自己的自定义行动,以便于满足特定的需求或实现个性化的功能。
自定义行动为开发者提供了更高的灵活性和控制力。你可以根据项目的需要,编写专属于你的行动,甚至可以封装复杂的逻辑以便重用。
自定义行动的基本概念
自定义行动可以是一个简单的 JavaScript 文件、一个 Docker 容器,或者一个组合了多个步骤的 YAML 文件。我们将在这篇文章中聚焦于如何利用 JavaScript 来创建自定义行动,并为后续使用 Docker 容器的文章做铺垫。
创建自定义行动的步骤
1. 设置项目结构
首先,创建一个新的 GitHub 仓库,假设我们把这个仓库命名为 my-custom-action
。然后在项目根目录下创建以下结构:
1 | my-custom-action/ |
action.yaml
是自定义行动的元数据文件。index.js
是执行逻辑的 JavaScript 文件。package.json
用于管理项目依赖。
2. 编写 action.yaml
在 action.yaml
文件中定义自定义行动的元数据:
1 | name: 'My Custom Action' |
上面的代码定义了一个名为 “My Custom Action” 的自定义行动,它接受一个名为 name
的输入参数,并在 JavaScript 文件中执行操作。
3. 编写 index.js
在 index.js
中编写实际执行的逻辑:
1 | const core = require('@actions/core'); |
在这里,我们使用 @actions/core
包来获取输入参数,并输出一条问候消息。如果发生错误,将会调用 core.setFailed
来标记行动为失败。
4. 配置 package.json
在 package.json
中定义项目的基本信息和依赖项:
1 | { |
确保你的自定义行动使用到的依赖(如 @actions/core
)已经在 package.json
中进行配置。
5. 使用自定义行动
现在,你可以在 .github/workflows
目录下创建一个工作流文件(例如 run-custom-action.yml
),并使用我们刚才创建的自定义行动:
1 | name: Custom Action Workflow |
当代码被推送到仓库时,上述工作流将会触发,并调用你的自定义行动,以便输出问候消息。
总结
在这一节中,我们详细探讨了如何创建一个简单的自定义行动。我们通过代码逐步构建了从元数据文件到执行逻辑的完整流程。自定义行动的灵活性使得它们能够被重复使用和扩展,为不同的项目带来便利。
在下一篇中,我们将更进一步,探讨如何使用 Docker 容器创建自定义行动,为复杂的工作流程提供更加稳健的支持。