如何在Renovate配置中阻止GitHub Actions指定服务的Docker镜像升级
禁用特定服务的MySQL版本升级规则配置
你可以通过在Renovate配置文件(如renovate.json)中添加packageRules规则,精准锁定目标服务的MySQL版本,同时不影响其他服务的正常升级。以下是几种实用配置方案:
方案1:精准匹配目标工作流+MySQL版本
适用于只想阻止指定工作流中MySQL 5.7的升级:
{ "packageRules": [ { "matchFiles": [".github/workflows/你的工作流文件名.yml"], // 替换成实际工作流文件路径 "matchPackageNames": ["mysql"], "matchCurrentVersion": "5.7", "enabled": false } ] }
方案2:匹配特定服务的配置片段
如果工作流中有多个MySQL服务,只想锁定key为mysql的那个服务:
{ "packageRules": [ { "matchFiles": [".github/workflows/你的工作流文件名.yml"], "matchStrings": ["mysql:\n image: mysql:5.7"], "enabled": false } ] }
方案3:固定版本而非完全禁用检测
如果你只是暂时固定5.7版本,后续准备升级时可快速恢复检测,可替换enabled: false为rangeStrategy: "pin":
{ "packageRules": [ { "matchFiles": [".github/workflows/你的工作流文件名.yml"], "matchPackageNames": ["mysql"], "matchCurrentVersion": "5.7", "rangeStrategy": "pin" } ] }
规则字段说明
matchFiles:限定规则仅作用于目标工作流文件,避免影响其他服务matchPackageNames:匹配镜像名称为mysql的依赖matchCurrentVersion:精准锁定当前5.7版本,防止误拦截其他版本的MySQL升级enabled: false:直接停止该依赖的所有升级检测和PR生成rangeStrategy: "pin":维持当前版本不变,Renovate不会生成升级PR,后续移除规则即可恢复检测
内容的提问来源于stack exchange,提问作者MathKimRobin
相关产品推荐
相关产品推荐

