如何删除 Gitlab 自托管中的旧工件?
Posted
技术标签:
【中文标题】如何删除 Gitlab 自托管中的旧工件?【英文标题】:How to delete old artifacts in Gitlab self hosted? 【发布时间】:2021-10-29 22:31:20 【问题描述】:我们有一个在一个实例上运行的自托管 Gitlab,但我们时不时地面临空间问题,因为大型工件填满了空间。 我们必须手动删除旧的工件文件夹。
有没有办法让这个自动化?可能是一个通宵运行并删除 7 天以上的工件文件夹的脚本?
Gitlab Admin 中的默认到期时间设置为 5 天,但这并不意味着它们已从框中删除。
【问题讨论】:
【参考方案1】:当工件过期时,它们应该从磁盘中删除。如果您的工件没有从您的物理存储中删除,则说明您的存储存在配置问题。确保您对存储配置具有写入和删除权限。
在设置默认过期设置之前创建的工件仍需要手动删除 - 但要删除一次。所有新工件都将遵守工件过期时间。
但是,您应该通过 API 执行此操作,而不是直接在文件系统上执行此操作。否则 GitLab 的数据库认为存在的内容与磁盘上实际存在的内容会不匹配。
有关示例脚本:请参阅this answer。
另请注意,在某些情况下会保留工件,例如最新的工件。必须运行新管道才能使旧工件过期。请参阅documentation 了解更多信息。
【讨论】:
以上是关于如何删除 Gitlab 自托管中的旧工件?的主要内容,如果未能解决你的问题,请参考以下文章