自定义 Piece CI/CD
你可以使用 CLI 同步自定义 Piece。无需重建 Docker 镜像,因为它们直接从 npm 加载。
工作原理
使用 CLI 将 packages/pieces/custom/ 中的项目同步到实例。在生产环境中,Activepieces 充当 npm 注册表,存储所有 Piece 版本。
CLI 扫描目录中的 package.json 文件,检查每个 Piece 的 name 和 version。如果某个 Piece 尚未上传,则会将其打包并通过 API 上传。
使用方法
要使用 CLI,请按照以下步骤操作:
- 从管理界面生成 API 密钥。进入设置并生成 API 密钥。
- 通过克隆仓库安装 CLI。
- 运行以下命令,将
API_KEY替换为生成的 API 密钥,INSTANCE_URL替换为你的实例 URL:
AP_API_KEY=your_api_key_here bun run sync-pieces -- --apiUrl https://INSTANCE_URL/api
开发者工作流
- 开发者离线创建和修改 Piece。
- 在其对应的
package.json中递增 Piece 版本。更多信息请参考 Piece 版本管理 文档。 - 向主分支提交 Pull Request。
- 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