构建失败时,如何通过bamboo-jfrog-plugin删除上传至JFrog的制品?
Bamboo构建失败后删除JFrog上传制品的简便方法
以下是几种实用的解决方案:
配置Bamboo失败触发的清理阶段
在你的Bamboo计划中新增一个仅在构建失败时执行的阶段(Bamboo支持通过阶段条件设置,选择"仅当构建失败时运行"),在该阶段添加清理任务:- 使用JFrog CLI的
jfrog rt delete命令,结合Bamboo内置变量(如${bamboo.buildNumber})定位本次构建上传的制品,例如:jfrog rt delete "your-repo/artifact-path/${bamboo.buildNumber}/*" --server-id=your-jfrog-server-id - 也可以直接使用bamboo-jfrog-plugin的删除任务,指定对应构建的制品路径前缀,关联当前构建变量实现精准删除。
- 使用JFrog CLI的
在JFrog Artifactory配置自动清理规则
给目标仓库设置清理策略,添加规则:删除指定时间范围内上传、且未被标记为"已发布"的构建制品。利用Bamboo构建失败时不会将制品标记为正式发布的特性,让自动清理机制定期移除这些失败构建产生的临时制品。通过自定义属性标记并清理
在第一阶段上传制品时,通过bamboo-jfrog-plugin给制品添加自定义属性(比如bamboo.buildStatus=pending),当构建失败时,在清理任务中通过属性筛选删除本次构建的制品:jfrog rt delete "your-repo/artifact-path/*" --props "bamboo.buildStatus=pending;bamboo.buildNumber=${bamboo.buildNumber}" --server-id=your-jfrog-server-id
内容的提问来源于stack exchange,提问作者hudac
相关产品推荐
相关产品推荐

