使用 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 创建的分支名称添加前缀。通过在前缀中使用 parentDirbaseDir,Renovate 将根据包定义所在的位置拆分 PR。

在您的情况下,由于直接父目录具有相同的名称 (superapp),因此您必须使用 baseDir 来考虑要更新的文件的整个路径。

在您 renovate.json 中添加此配置应该可以解决问题:

{
  "packageRules": [
    {
      "managers": ["terraform"],
      "additionalBranchPrefix": "{{baseDir}}-",
      "packagePatterns": [".*"]
    }
  ]
}