SuperAPI AI 工具集

hex-ci-integration

部署与运维

查看项目

更新于 10-15 23:26

技能介绍

用途:为 Hex 数据分析集成搭建 CI/CD。Hex 提供协作式数据笔记本、定时运行与 API 触发执行,因此可在流水线中验证数据转换逻辑、触发部署后的仪表盘刷新并监控运行状态。

主要能力:通过 GitHub Actions 工作流,在 PR 时对 src/hex/** 与 tests/** 的改动运行 mock 单元测试;在合并或推送到 main 时运行集成测试,触发真实 Hex 项目运行。单元测试使用 vitest 模拟 HexClient 的 runProject、getRunStatus、listProjects,返回固定 runId、状态与输出进行断言;集成测试仅在存在 HEX_API_TOKEN 时运行,通过 POST https://app.hex.tech/api/v1/project/${HEX_PROJECT_ID}/run 触发运行,携带 Authorization Bearer 令牌与 inputParams。

使用方式:工作流使用 actions/checkout@v4、actions/setup-node@v4(node 20)、npm ci、npm test 与 npm run test:integration;令牌来自 secrets.HEX_API_TOKEN,项目 ID 来自 vars.HEX_PROJECT_ID。

限制与前置条件:需要 CI 密钥引用、沙箱项目或目标、无生产输出的测试夹具、受保护分支与回滚机制。应先运行 mock 测试,覆盖参数格式错误、访问拒绝、配额、取消与输出断言等场景;再执行有界的沙箱集成,保证幂等,禁止在生产项目或目标上运行。输出仅保留聚合计数、不透明 ID 与策略版本;出现非预期范围、未脱敏输出或权限扩大应失败。金丝雀发布需经受保护审查并校验断言,失败时恢复上一已知良好版本。常见问题包括 401 令牌无效、404 项目 ID 错误、运行长期卡在 running、inputParams 参数名不匹配、429 触发过频等。部署模式暂未提供,资料仅指向 hex-deploy-integration。