我已按照此 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"]
我认为指定
hostRules
还不够。
要配置自定义 NPM 注册表,我们使用以下配置:
{
"npmrc": "registry=https://private-registry.company.net/npm/\n@companyprefix:registry=https://private-registry.company.net/npm-companyprefix/"
}
这基本上就是您的
.npmrc
文件中的内容。
(适应您的需要)
我今天也遇到了这个问题,我通过添加
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,
},
],
};