0Pricing
DevOps Bootcamp · 课时

复合操作与发布到 Marketplace

构建包含多个步骤的复合操作,正确管理版本,并将自定义操作发布到 GitHub Marketplace 以便复用

复合操作与发布到 Marketplace 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

三种自定义 action

GitHub 支持三种编写自定义 action 的方式:

  • JavaScript action — 运行 Node 代码
  • Docker action — 在容器中运行
  • 组合式 action — 将多个工作流步骤打包在一起

本课程重点介绍组合式 action及其发布。

什么是组合式 action

组合式 action会将多个 run 步骤和其他 action 调用打包成一个可复用单元,无需编写 JavaScript 或构建 Docker 镜像。

它非常适合封装重复执行的 Shell 命令序列。

action.yml 文件

每个 action 都由其根目录中的 action.yml 定义。对于组合式 action,请将 runs.using 设置为 composite。

name: Setup Project
description: Install deps and build
runs:
  using: composite
  steps:
    - run: npm ci
      shell: bash
    - run: npm run build
      shell: bash

必须指定 Shell

有一条容易忽略的规则:在组合式 action 中,每个 run 步骤都必须声明 shell。忘记声明它,是编写组合式 action 时最常见的错误。

    - run: echo 'hello'
      shell: bash

定义输入

使用 inputs 让 action 可配置。调用方通过 with 传入值,您可以使用 inputs.<name> 引用这些值。

inputs:
  node-version:
    description: Node version
    required: false
    default: '20'
runs:
  using: composite
  steps:
    - run: echo Using ${{ inputs.node-version }}
      shell: bash

定义输出

复合操作可以返回输出。某个步骤会写入 GITHUB_OUTPUT,操作再将其映射为一个命名输出。

outputs:
  build-id:
    value: ${{ steps.gen.outputs.id }}
runs:
  using: composite
  steps:
    - id: gen
      run: echo "id=$(date +%s)" >> $GITHUB_OUTPUT
      shell: bash

使用本地操作

您可以通过路径引用存储在同一仓库中的操作,这在发布前开发时非常方便。

    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup-project
        with:
          node-version: '20'

使用标签进行版本管理

已发布的操作通过 Git 引用进行引用。最佳实践是:将发布版本标记为 v1.0.0,同时维护一个会随更新移动的 v1 标签。

使用 @v1 的调用方会自动获得不破坏兼容性的更新。

git tag -a v1.0.0 -m 'release'
git tag -f v1
git push --tags --force

为市场发布做准备

要发布到 GitHub 市场,操作必须存放在公开仓库中,并且包含一个 action.yml,其中应包含 name、description,最好还包含 branding(图标和颜色)。

branding:
  icon: package
  color: blue

发布版本

在仓库的“版本发布”页面中,为您的标签创建一个版本草稿。GitHub 会显示一个将此操作发布到市场的复选框。

接受协议,选择类别,然后发布。之后所有人都可以搜索到该操作。

记录使用方法

一个优秀的操作应随附清晰的 README,其中展示使用示例、输入和输出。

评估您操作的企业会高度依赖这些文档,因此请确保内容准确且完整。

快速检查

测试您对复合操作的理解。

回顾

您已经学会构建和发布复合操作。

  • 复合操作通过 runs.using: composite 将多个步骤打包在一起
  • 每个运行步骤都必须明确指定 shell
  • 公开输入和输出,以便重复使用
  • 使用语义化版本和会随更新移动的主版本标签进行标记,然后发布到市场

可复用操作帮助团队扩展共享的 CI/CD 逻辑。

常见问题解答

「复合操作与发布到 Marketplace」课时是免费的吗?

是的 — 「复合操作与发布到 Marketplace」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「复合操作与发布到 Marketplace」这节课中我会学到什么?

构建包含多个步骤的复合操作,正确管理版本,并将自定义操作发布到 GitHub Marketplace 以便复用 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「复合操作与发布到 Marketplace」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 开发自定义 GitHub Actions
  2. 用于本地部署的自托管运行器
  3. 与企业系统集成
  4. 复合操作与发布到 Marketplace
← 返回 DevOps Bootcamp