首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用jenkins清理码头注册表中的旧图像

如何用jenkins清理码头注册表中的旧图像
EN

DevOps用户
提问于 2019-08-08 12:09:02
回答 2查看 1.2K关注 0票数 1

我有一个jenkins多分支项目,它构建在每次提交的基础上,并将映像推送到我们的私有注册中心:

代码语言:javascript
复制
docker-reg:5000/<project>/<branch>:latest
docker-reg:5000/<project>/<branch>:<build-server>-<build-number>

如何删除停靠器注册表中的标签以便让垃圾收集器启动:

  • 构建在一段时间后成为孤儿--
    • 删除<project>/<branch>:<build-server>-<build-number

  • 分支被合并,jenkins子项目被自动删除,
    • 删除<project>/<branch>:latest
EN

回答 2

DevOps用户

发布于 2019-09-09 07:00:23

我们有一个脚本,我们定期运行,它扫描我们的码头注册中心,寻找孤立的项目,然后删除它们。

不幸的是,它需要多个API调用来获取所需的所有数据,然后删除每个映像。但基本上,如果图像散列缺少“最新”标记或以“v”开头的标记,则会对其进行筛选。

您也可以尝试根据上次修改的日期进行删除。

我们在kubernetes中作为cron作业运行它,但是您可以像运行定期jenkins作业一样轻松地运行这样的脚本。

票数 1
EN

DevOps用户

发布于 2019-08-08 15:15:14

这是一个非常复杂的问题,原因如下:

  1. 最大的问题是Jenkins无法在删除分支或合并or时通知您。Jenkin的jira中有很多问题,但据我所知-- 是被监控的。
  2. 您需要以某种方式保存所有已发布标记的记录。

总的来说,我不知道你是如何做到这一点的,因为从詹金的角度来说,这是不可能的。如果有人找到了解决这一问题的办法,那就太好了。我已经找过几次了,没有任何运气。

票数 0
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/8847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档