如何配置Renovate排除Maven pom.xml中parent标签的version更新?
解决Renovate自动更新Maven Parent版本的问题
问题背景
我当前使用的Renovate配置文件如下:
module.exports = { endpoint: 'https://git.myOrg.info/', password: '${password}', username: '${username}', platform: 'bitbucket-server', repositories: ['myRepo/myService'], branchPrefix: 'team/renovate-', commitMessagePrefix: 'Renovate : ', onboarding: false, requireConfig: "ignored", enabledManagers: ["maven", "npm"], hostRules: [ { hostType: 'maven', matchHost: 'https://my.org.io/', username: '${user}', password: '${key}', }, { hostType: 'npm', matchHost: 'my.org.io', // 原配置此处缺失闭合引号,需修正 username: '${user}', password: '${key}', } ], packageRules: [ { matchUpdateTypes: ["major"], enabled: false }, { matchDatasources: ["npm"], registryUrls: ["https://my.org.io/..../"] }, { matchDatasources: ["maven"], registryUrls: ["https://my.org.io/..../"] }, { matchManagers: ["npm"], matchUpdateTypes: ["minor","patch"], groupName: "npm minor" }, { matchManagers: ["maven"], matchUpdateTypes: ["minor","patch"], groupName: "maven minor and patch" }, ] };
我的某个Maven模块pom.xml里的parent标签是这样的:
<parent> <groupId>org.myservice.com</groupId> <artifactId>myservice-client-parent</artifactId> <version>5.x-SNAPSHOT</version> </parent>
现在Renovate在更新其他依赖时,会自动把这个parent的版本从5.x-SNAPSHOT改成5.70.0,我需要修改配置阻止这种情况。
解决方案
在Renovate配置的packageRules数组中添加一条精准匹配该parent的规则,禁用它的更新:
修改后的packageRules部分
packageRules: [ { matchUpdateTypes: ["major"], enabled: false }, { matchDatasources: ["npm"], registryUrls: ["https://my.org.io/..../"] }, { matchDatasources: ["maven"], registryUrls: ["https://my.org.io/..../"] }, { matchManagers: ["npm"], matchUpdateTypes: ["minor","patch"], groupName: "npm minor" }, { matchManagers: ["maven"], matchUpdateTypes: ["minor","patch"], groupName: "maven minor and patch" }, // 新增规则:忽略指定Maven Parent的更新 { matchManagers: ["maven"], matchGroupIds: ["org.myservice.com"], matchArtifactIds: ["myservice-client-parent"], enabled: false } ]
这条新增规则会精准匹配你指定的parent依赖,Renovate就不会再尝试更新它的版本了。另外注意原配置中hostRules里的npm规则有语法错误(matchHost值缺失闭合引号),建议修正避免配置失效。
内容的提问来源于stack exchange,提问作者Sharique
相关产品推荐
相关产品推荐

