Nexus npm快照仓库清理任务:移除30天以上旧包
清理Nexus中超过30天的npm快照包方案
我来帮你搞定Nexus上npm快照包的清理问题~其实Nexus本身就有针对npm包的专属清理策略,和你用的Maven清理任务逻辑类似,只是配置入口和细节有点不一样,具体步骤如下:
第一步:进入清理策略配置页面
登录Nexus后台后,点击左侧菜单的「System」→「Cleanup Policies」,这里是所有仓库类型清理规则的统一管理入口,Maven的清理任务也是基于这里的策略来执行的。第二步:创建npm专属清理策略
点击页面右上角的「Create cleanup policy」,按以下配置填写:- 名称:比如填「npm-snapshots-30-day-expiry」(好记就行)
- 描述:可以写「自动清理npm快照仓库中发布超过30天的包版本」
- 格式(Format):下拉选择「npm」(这是区分Maven策略的关键)
- 勾选「Include snapshots」:明确只针对快照包进行清理
- 最小保留时长(Minimum age):输入30,单位选择「Days」
- 可选:如果你的npm快照包带有预发布标签,还可以勾选「Include prereleases」
第三步:绑定策略到目标npm快照仓库
切换到左侧菜单的「Repositories」,找到你的npm快照仓库,进入仓库的「Settings」标签页,在「Cleanup」板块中,选择你刚创建的清理策略,点击保存即可。第四步:执行清理(手动/自动)
- 手动测试:回到「Cleanup Policies」页面,找到新创建的策略,点击右侧的「Run」按钮,就能立刻执行一次清理;
- 自动定期执行:进入「System」→「Tasks」,创建一个「Cleanup Repository」类型的任务,选择对应的npm仓库和清理策略,设置好执行周期(比如每天凌晨2点),以后就会自动帮你清理过期包了。
温馨提示:执行清理前建议先备份仓库数据,或者在测试环境先验证规则效果,避免误删需要保留的包版本哦~
内容的提问来源于stack exchange,提问作者Krupa
相关产品推荐
相关产品推荐

