我一直在尝试Renovate,并希望使用它将TYPO3自动更新到最新版本。v10.4.x-其中Renovate只应在"x"部分有可用更新时创建MR。
我使用以下配置:
config.js
module.exports = {
endpoint: 'https://gitlab.companyname/api/v4/',
token: '**gitlab_token**',
platform: 'gitlab',
baseBranches: ["master"],
assignees: ["Me"],
enabledManagers: "composer",
onboardingConfig: {
extends: ['config:base'],
},
repositories: [
{
repository: 'CMS/sitetemplate',
},
],
};
项目CMS/sitetemplate中的refreshe.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
":disableDependencyDashboard",
":separatePatchReleases"
],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"baseBranches": [
"master"
],
"enabledManagers": [
"composer"
],
"commitMessagePrefix": "[TASK] ",
"commitMessageTopic": "{{depName}}",
"commitMessageExtra": " ({{{displayFrom}}} => {{{displayTo}}})",
"rangeStrategy": "update-lockfile",
"packageRules": [
{
"matchUpdateTypes": [
"patch"
],
"matchPackagePrefixes": [
"typo3/cms-"
],
"excludePackageNames": [
"typo3/cms-cli",
"typo3/cms-composer-installers"
],
"groupName": "TYPO3 CMS",
"labels": [
"typo3"
]
},
{
"matchUpdateTypes": [
"minor",
"pin",
"digest",
"major"
],
"enabled": false
}
]
}
.gitlab ci.yaml
Update Web Project:
rules:
- if: $RENOVATE_APPLICATION_TOKEN
when: never
- if: $RENOVATE_WEB_TOKEN
when: manual
variables:
RENOVATE_TOKEN: $RENOVATE_WEB_TOKEN
script:
- renovate $RENOVATE_EXTRA_FLAGS
when: manual
- 我已经玩了一些配置,当我有其他设置时,它会创建MR、问题等。所以它起作用了。但是,对于当前配置,它不会创建PR
- 该网站模板目前有TYPO3 V10.4.25(在锁定文件中(,我希望它创建一个PR,这样它就会将所有的TYPO3/cms-*包更新为最新的TYPO3 V10.4.32
- 它应该只更新锁定文件
- 当前,当我运行CI时,我没有得到MR和以下输出
CI输出
PASTEBIN,因为它是大型
有人对此有任何经验,我做错了什么配置?
https://github.com/renovatebot/renovate/discussions/17939
确认工作:
一眼望去,我想你错过了separateMinorMatch=true的设置。您可以全局启用它(如果您想将所有软件包的补丁更新与次要软件包分开(,或者通过使用packageRules专门为某些软件包启用它。