如何为 Gitlab 设置 Renovate Bot(包括私有依赖项)?

问题描述 投票:0回答:2

我已按照此 GitLab 存储库中提供的说明成功将 Renovate Bot 配置为按计划运行 - https://gitlab.com/renovate-bot/renovate-runner。问题是 Renovate Bot 只能识别 Gitlab 存储库中使用的公共依赖项。

根据文档 - https://docs.renovatebot.com/modules/platform/gitlab/#gitlab,我创建了一个具有所有必要权限的 PAT 并添加了 RENOVATE_HOST_RULES CI 变量:

WARN: Package lookup failures (repository=my-group/my-subgroup/my-project)
43       "warnings": [
44         "Failed to look up npm package @my-group/my-deps-repo-1",
45         "Failed to look up npm package @my-group/my-deps-repo-2",
46         "Failed to look up npm package @my-group/my-deps-repo-3"
47       ],
48       "files": ["package.json"]
gitlab dependency-management renovate
2个回答
0
投票

我认为指定

hostRules
还不够。

要配置自定义 NPM 注册表,我们使用以下配置:

{
  "npmrc": "registry=https://private-registry.company.net/npm/\n@companyprefix:registry=https://private-registry.company.net/npm-companyprefix/"
}

这基本上就是您的

.npmrc
文件中的内容。

(适应您的需要)


0
投票

我今天也遇到了这个问题,我通过添加

config.js
来修复它,如here所述。您需要将
my-group
修改为您的群组名称。然后,Renovate 应该会选择正确的注册表。

该配置适用于 GitLab 作业,这就是我们使用

CI_JOB_TOKEN
而不是 PAT 的原因。

module.exports = {
  npmrc: "@my-group:registry=https://gitlab.com/api/v4/packages/npm/",
  hostRules: [
    {
      hostType: "npm",
      matchHost: "https://gitlab.com/api/v4/packages/npm/",
      token: process.env.CI_JOB_TOKEN,
    },
  ],
};
© www.soinside.com 2019 - 2024. All rights reserved.