使用 renovate 为每次出现的依赖打开单独的 PR
Open separate PR for each occurance of dependency with renovate
我有一个存储库,我在其中管理多个环境的 Terraformcode。
例如我会有这些文件:
/terraform/dev/superapp/main.tf
/terraform/prod/superapp/main.tf
在这些文件中,我定义了使用的提供程序、模块等。这些组件的版本在开发和生产上是相同的。
我在那个 repo 上启用了 renovate,它运行得几乎完美。
但是 renovate 会打开一个 PR 来更新版本,例如aws 提供商或 eks 模块在 dev 和 prod 中仅在一个 PR 中。
但我想为每个模块、提供者等提供单独的 PR,然后再次为开发和生产提供单独的 PR。
所以我最终会得到四个关于 aws-provider 和 eks-module 的 PR。
每个环境中的每个依赖项一个。
我检查了 Renovate 的文档,但我无法真正找出哪个参数会触发这种行为,但我确信这必须是可能的。
非常感谢任何帮助。
据我所知,目前无法进行翻新。
您可以尝试将 files/paths 一个一个地包括在内,但我认为这不会奏效。
您可以指定配置选项additionalBranchPrefix
为Renovate 创建的分支名称添加前缀。通过在前缀中使用 parentDir
或 baseDir
,Renovate 将根据包定义所在的位置拆分 PR。
在您的情况下,由于直接父目录具有相同的名称 (superapp
),因此您必须使用 baseDir
来考虑要更新的文件的整个路径。
在您 renovate.json
中添加此配置应该可以解决问题:
{
"packageRules": [
{
"managers": ["terraform"],
"additionalBranchPrefix": "{{baseDir}}-",
"packagePatterns": [".*"]
}
]
}
我有一个存储库,我在其中管理多个环境的 Terraformcode。 例如我会有这些文件:
/terraform/dev/superapp/main.tf
/terraform/prod/superapp/main.tf
在这些文件中,我定义了使用的提供程序、模块等。这些组件的版本在开发和生产上是相同的。
我在那个 repo 上启用了 renovate,它运行得几乎完美。
但是 renovate 会打开一个 PR 来更新版本,例如aws 提供商或 eks 模块在 dev 和 prod 中仅在一个 PR 中。
但我想为每个模块、提供者等提供单独的 PR,然后再次为开发和生产提供单独的 PR。
所以我最终会得到四个关于 aws-provider 和 eks-module 的 PR。 每个环境中的每个依赖项一个。 我检查了 Renovate 的文档,但我无法真正找出哪个参数会触发这种行为,但我确信这必须是可能的。
非常感谢任何帮助。
据我所知,目前无法进行翻新。 您可以尝试将 files/paths 一个一个地包括在内,但我认为这不会奏效。
您可以指定配置选项additionalBranchPrefix
为Renovate 创建的分支名称添加前缀。通过在前缀中使用 parentDir
或 baseDir
,Renovate 将根据包定义所在的位置拆分 PR。
在您的情况下,由于直接父目录具有相同的名称 (superapp
),因此您必须使用 baseDir
来考虑要更新的文件的整个路径。
在您 renovate.json
中添加此配置应该可以解决问题:
{
"packageRules": [
{
"managers": ["terraform"],
"additionalBranchPrefix": "{{baseDir}}-",
"packagePatterns": [".*"]
}
]
}