deb-publisher
帮助 Agent 复用项目已有的 DEB 打包与发布方式,完成构建、包检查、上传和发布验证。
什么时候使用
当你希望 Agent 处理以下任务时使用:
- “帮我构建这个项目的 DEB 包”
- “把 1.2.3 版本的 DEB 发布到包仓库”
- “看看项目里的 DEB 发布流程”
- “检查这个 DEB 是否可以发布”
只想在本机安装一个 .deb,或者要构建 RPM、Docker 镜像时,不需要使用这个 skill。
使用前准备
请准备或确认:
- 要构建或发布的版本号。
- 项目已经配置好构建脚本、Make 目标或
debian/目录;上传脚本由 skill 自带, 不需要放进项目。 - 发布所需的令牌已经放入项目约定的环境变量或密钥系统。
- 如果要真实发布,明确告诉 Agent 目标仓库以及是否允许覆盖同版本。
不要把令牌直接粘贴到对话、命令参数或项目文件中。
使用示例
仅分析,不产生或上传包:
看看这个项目的 DEB 是怎么构建和发布的。
只构建和检查,不上传:
使用 deb-publisher 构建 1.2.3 的 DEB,检查包元数据和内容,不要上传。
构建并发布:
使用 deb-publisher 构建并发布 1.2.3 的 amd64 DEB 到项目已配置的测试仓库。
发布已有产物:
使用 deb-publisher 检查并发布 ./dist/example_1.2.3_amd64.deb。
Agent 会做什么
Agent 会优先发现和复用项目已有入口,然后:
- 确认版本、架构、产物路径、目标仓库和授权范围。
- 构建 DEB,或定位你指定的已有产物。
- 检查包的元数据、内容和 SHA-256。
- 在你明确要求发布时,通过 skill 自带的
scripts/upload_deb.sh上传。 - 检查服务端响应,并在仓库支持时确认该版本已经可见。
如何判断完成
结果中应包含包名、版本、架构、产物路径、SHA-256,以及构建、上传和仓库可见性的 独立状态。异步索引尚未完成时,Agent 应明确说明“上传已接受,索引待更新”。
上传协议
自带脚本适用于接收 multipart 字段 package、token 和 repository_name 的
HTTP DEB 仓库,默认路径是 /api/v2/upload/package。使用以下环境变量:
DEB_SERVER_URL:仓库服务地址。DEB_TOKEN:认证令牌。DEB_REPOSITORY:目标仓库名。DEB_UPLOAD_PATH:可选的上传路径覆盖。
令牌只从环境变量读取,不作为命令行参数传递。若你的仓库使用其他 API 协议,应先告诉 Agent,不要直接套用该脚本。