标签: renovate

更新:将所有更新合并到一个分支/PR

一旦有新版本,Renovate 就会更新软件包。但 renovate 还会为每次更新创建一个单独的 PR/分支。因此,如果为我的 5 个包 renovate 发布的新版本将创建 5 个分支。\n这会导致 5 个管道,其中 1 个 PR 被合并,其他 4 个将重新设置基础并再次运行管道。因此,每次合并时将运行 15 个 PR 管道 + 分支管道main
\n因此总共将运行 19 个管道。

\n

是否可以将 \xe2\x80\x93 假设所有次要更新和补丁更新 \xe2\x80\x93 合并到一个分支和 PR 中,以避免出现大量 PR?

\n

我发现的唯一的事情是prConcurrentLimit它避免了每次合并时 PR 管道的变基和重新运行。但这也会触发 10 个管道。

\n

如果我可以将所有内容组合在一起,则只有 1 个 PR 管道和 1 个main分支管道。所以总共有2条管道。那将是真棒。

\n

pipeline config renovate

14
推荐指数
1
解决办法
6847
查看次数

在更新中排除特定版本模式

我有一个 Maven 项目,它依赖于com.thoughtworks.xstream:xstream:1.4.11.1.

Renovate 打开了一个拉取请求,com.thoughtworks.xstream:xstream:1.4.12-java7但我更希望看到一个拉取请求,com.thoughtworks.xstream:xstream:1.4.12因为我使用的是 Java 8。

如何配置 renovate.json 文件以指定,对于 groupIdcom.thoughtworks.xstream和 artifactId xstream,我不想在版本以 结尾时接收 PR -java7

dependency-management maven renovate

9
推荐指数
1
解决办法
8646
查看次数

gpg:错误设备的 ioctl 不合适

我正在运行一个自托管的 Renovate 实例,我需要使用 GPG 密钥签署对 GitLab 的提交。
为此,我使用我的 GitLab 用户的 PGP 私钥块设置环境变量 RENOVATE_GIT_PRIVATE_KEY,并且该变量会自动导入。
但当我尝试这样做时,出现以下错误:

gpg: directory '/home/ubuntu/.gnupg' created
gpg: keybox '/home/ubuntu/.gnupg/pubring.kbx' created
gpg: /home/ubuntu/.gnupg/trustdb.gpg: trustdb created
gpg: key 72A96C0D4FA8543C: public key "Dummy User <dummyuser@company.com>" imported
gpg: key 72A96C0D4FA8543C/72A96C0D4FA8543C: error sending to agent: Inappropriate ioctl for device
gpg: error building skey array: Inappropriate ioctl for device
gpg: error reading '/tmp/git-private.key': Inappropriate ioctl for device
gpg: import from '/tmp/git-private.key' failed: Inappropriate ioctl for device
gpg: Total number processed: 0
gpg:               imported: 1 …
Run Code Online (Sandbox Code Playgroud)

ioctl gnupg renovate

9
推荐指数
1
解决办法
6285
查看次数

配置更新机器人以自动合并次要更新和补丁更新

在我的 GitHub 存储库中,我想将更新机器人配置为自动合并所有次要(和较小)更新,并仅为主要更新创建 PR。如果我正确理解该文档,我的包规则应该配置该行为:

{
  "extends": [
    "config:base",
    ":disableDependencyDashboard"
  ],
  "ignorePaths": [
    "Dockerfile",
    "package.json",
    "pnpm-lock.yaml"
  ],
  "assignees": [
    "McPringle"
  ],
  "reviewers": [
    "McPringle"
  ],
  "packageRules": [
    {
      "matchUpdateTypes": ["minor", "patch", "pin", "digest"],
      "automerge": true
    },
    {
      "matchDepTypes": ["devDependencies"],
      "automerge": true
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但翻新机器人不会合并次要更新。尽管如此,所有内容都以 PR 的形式出现,我必须手动合并。这是一个例子:

-    <version>2.6.1</version>
+    <version>2.6.2</version>
Run Code Online (Sandbox Code Playgroud)

此补丁更新应该会自动合并。有人可以解释一下我的理解和做错了什么吗?在这里你可以找到我正在谈论的 GitHub 存储库,包括更新配置文件和 PR,我现在还没有合并它们: https: //github.com/komunumo/komunumo-server

github renovate

5
推荐指数
1
解决办法
7359
查看次数

更新:package.json 和 package-lock.json 不同步

我刚刚配置了翻新,它似乎有效。除了我一直收到以下消息。有没有一种方法可以管理 renovate 以自行运行 npm install ?那么我应该将哪个命令添加到我的renovate.json文件中?

我尝试过"postUpdateOptions": ["npmDedupe"]postUpgradeTasks但都没有成功。

npm 错误!npm ci仅当 package.json 和 package-lock.json 或 npm-shrinkwrap.json 同步时才能安装包。请先更新您的锁定文件,npm install然后再继续。

现在要解决此错误,我必须签出我的 renovate 分支并手动运行 npm install。

javascript renovate

5
推荐指数
1
解决办法
2475
查看次数

在 Renovate 中使用“group-all”合并请求时,如何排除特定依赖项的主要升级?

我想阻止Renovate对某些依赖项进行重大升级,但仍允许对这些依赖项进行次要升级和补丁升级。使用ignoreDeps完全排除它们,这不是最佳的。我还需要在一个 Gitlab 合并请求中获得每次运行的所有建议升级,因此使用单独的matchUpdateTypes组不适合我的用例。

有没有办法实现我正在寻找的东西?

使用 Angular 14 的项目中的具体示例,Renovate 不应尝试升级到 15,但仍为我提供最新的 14.x 升级:

"@angular/router": "14.2.7",   // what I have now
"@angular/router": "14.2.10",  // what should be suggested
"@angular/router": "15.0.0",   // what should be avoided
Run Code Online (Sandbox Code Playgroud)

我在所有存储库中的一般包规则如下所示:

"packageRules": [
  {
    "groupName": "all dependencies",
    "groupSlug": "all",
    "matchPackagePatterns": [
      "*"
    ],
    "matchUpdateTypes": [
      "major",
      "minor",
      "patch"
    ]
  }
],
Run Code Online (Sandbox Code Playgroud)

我在renovate.json每个存储库的文件中指定要忽略的特定依赖项,如下所示:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json"
  "ignoreDeps": [
    "@angular/router"
  ]
}
Run Code Online (Sandbox Code Playgroud)

但这会阻止所有更新。我尝试过使用该架构,但这完全忽略了配置:

// BROKEN
{
  "$schema": …
Run Code Online (Sandbox Code Playgroud)

gitlab renovate

5
推荐指数
1
解决办法
2420
查看次数

为每次出现的依赖关系打开单独的 PR 并进行更新

我有一个存储库,可以在其中管理多个环境的 Terraformcode。例如我会有这些文件:

/terraform/dev/superapp/main.tf
/terraform/prod/superapp/main.tf
Run Code Online (Sandbox Code Playgroud)

在这些文件中,我定义了使用的提供程序、模块等。这些组件的版本在开发和生产上是相同的。

我在该存储库上启用了翻新,它几乎完美地工作。

但 renovate 将打开一个 PR,仅在一个 PR 中更新 dev 和 prod 中的 aws 提供程序或 eks-module 的版本。

但我希望为每个模块、提供者等提供单独的 PR,然后为开发和产品提供单独的 PR。

因此,我最终会得到四个关于 aws-provider 和 eks-module 的 PR。每个环境中的每个依赖项都有一个。我检查了 Renovate 的文档,但我无法真正找出哪个参数会触发这种行为,但我确信这必须是可能的。

任何帮助深表感谢。

terraform renovate

3
推荐指数
1
解决办法
1298
查看次数