我有一个repo,我在其中管理多种环境的Terraformcode。例如,我将有这些文件:
/terraform/dev/superapp/main.tf
/terraform/prod/superapp/main.tf
在这些文件中,我定义了使用的提供程序、模块等。这些组件的版本在dev和prod上是相同的。
我在那个repo上启用了renovate,它几乎工作得很好。
但是renovate将打开一个PR,在一个PR中更新例如dev和prod中的aws提供商或eks模块的版本。
但是我想为每个模块,提供商等单独的pr,然后再为开发和生产单独的pr。
所以我最终会得到关于法律提供者和eks模块的四个pr。每个环境中的每个依赖项对应一个。我检查了Renovate的文档,但我无法真正找到哪个参数会触发这样的行为,但我确信这必须是可能的。
任何帮助都非常感谢。
可以指定配置选项additionalBranchPrefix
,为Renovate创建的分支名称添加前缀。通过在前缀中使用parentDir
或baseDir
, Renovate将根据包定义所在的位置拆分pr。
在您的示例中,由于直接父目录具有相同的名称(superapp
),因此您必须使用baseDir
来考虑要更新的文件的整个路径。
在renovate.json
中添加此配置应该可以达到目的:
{
"packageRules": [
{
"managers": ["terraform"],
"additionalBranchPrefix": "{{baseDir}}-",
"packagePatterns": [".*"]
}
]
}
据我所知,这是不可能的,目前与翻新。你可以尝试一个接一个地包含文件/路径,但我认为这行不通。