自定义 Piece CI/CD

你可以使用 CLI 同步自定义 Piece。无需重建 Docker 镜像,因为它们直接从 npm 加载。

工作原理

使用 CLI 将 packages/pieces/custom/ 中的项目同步到实例。在生产环境中,Activepieces 充当 npm 注册表,存储所有 Piece 版本。

CLI 扫描目录中的 package.json 文件,检查每个 Piece 的 nameversion。如果某个 Piece 尚未上传,则会将其打包并通过 API 上传。

使用方法

要使用 CLI,请按照以下步骤操作:

  1. 从管理界面生成 API 密钥。进入设置并生成 API 密钥。
  2. 通过克隆仓库安装 CLI。
  3. 运行以下命令,将 API_KEY 替换为生成的 API 密钥,INSTANCE_URL 替换为你的实例 URL:
AP_API_KEY=your_api_key_here bun run sync-pieces -- --apiUrl https://INSTANCE_URL/api

开发者工作流

  1. 开发者离线创建和修改 Piece。
  2. 在其对应的 package.json 中递增 Piece 版本。更多信息请参考 Piece 版本管理 文档。
  3. 向主分支提交 Pull Request。
  4. Pull Request 合并到主分支后,手动运行 CLI,或使用 GitHub/GitLab Action 触发同步过程。

GitHub Action

name: 同步自定义 Piece

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  sync-pieces:
    runs-on: ubuntu-latest

    steps:
      # 步骤 1:检出仓库代码(含完整历史记录)
      - name: 检出仓库代码
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      # 步骤 2:设置 Bun
      - name: 设置 Bun
        uses: oven-sh/setup-bun@v1
        with:
          bun-version: latest

      # 步骤 3:缓存 Bun 依赖
      - name: 缓存 Bun 依赖
        uses: actions/cache@v3
        with:
          path: ~/.bun/install/cache
          key: bun-${{ hashFiles('bun.lockb') }}
          restore-keys: |
            bun-

      # 步骤 4:使用 Bun 安装依赖
      - name: 安装依赖
        run: bun install --no-save

      # 步骤 5:同步自定义 Piece
      - name: 同步自定义 Piece
        env:
          AP_API_KEY: ${{ secrets.AP_API_KEY }}
        run: bun run sync-pieces -- --apiUrl ${{ secrets.INSTANCE_URL }}/api