dependency

renovate

renovate 使用自动 “拉请求” 保持源代码依赖关系的最新性。它将扫描软件包管理器文件库 (e.g. from npm/Yarn, Bundler, Composer, Go Modules, Pip/Pipenv/Poetry, Maven/Gradle, Dockerfile/k8s, and many more) ,并提交拉请求与更新版本,无论何时发现。

这个应用程序可以免费安装在公共和私有存储库中。renovate (以前称为 WhiteSource) 提供免费服务,不需要付费计划。

[!NOTE]
renovate documentation is here: https://docs.renovatebot.com/.

集成到 github/gitlab

官方提供的开始配置文档

links:

github 集成

安装直接通过应用授权访问 renovate

gitlab 集成

以下是一些配置 renovate 社区示例,更多示例参考搜索 gitlab:

根据仓库 renovate-docker 中的 docs 中的配置步骤即可,其中所用的容器参考 docker renovate

links:

configuration

links:

timezone

timezone: 时区

1
2
3
{
"timezone": "Asia/Shanghai",
}

automerge

automerge: 自动合并配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// https://gitlab.com/msclock/renovate/-/blob/master/.gitlab/renovate.json
{
// https://docs.renovatebot.com/configuration-options/#platformautomerge
"platformAutomerge": true,
"packageRules": [
{
"matchPackagePatterns": [
"renovate-bot/renovate-runner"
],
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
"automerge": true,
"semanticCommitType": "perf"
}
]
}

extends

extends: 要使用或扩展的配置预设

regexManager

regexManager: 使用正则表达式匹配的自定义管理器 (用于筛选出需要更新的依赖规则管理器)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// https://gitlab.com/gitlab-ci-utils/gitlab-ci-templates/-/blob/master/.gitlab/renovate.json
// https://gitlab.com/gitlab-ci-utils/gitlab-ci-templates/-/merge_requests/461
// https://gitlab.com/gitlab-ci-utils/gitlab-ci-templates/-/commit/7e5570740a1b705df57d8073be0a41dc31cfaca3
{
"regexManagers": [
{
"description": "Update https template URL for .gitlab-ci.yml from a GitLab project release",
"fileMatch": [
"\\.gitlab-ci\\.yml$"
],
// 匹配使用 include:remote语法的 gitlab ci 使用位置
"matchStrings": [
"\\s+- remote: [\"']*?https:\\/\\/gitlab.com\\/(?<depName>.*?)\\/-\\/raw\\/(?<currentValue>.*?)\\/\\w+"
],
"datasourceTemplate": "gitlab-releases"
}
],
}

prCreation

prCreation: 何时为分支创建 PR。

datasource

Renovate 的管理器扫描文件并提取依赖项之后,会为每个提取的包文件或依赖项分配一个数据源。数据源告诉 Renovate 如何搜索新版本.

links:

dependabot

通过 Dependabot,监视项目中使用的依赖项中的漏洞,并使依赖项保持最新。

配置

访问 dependabot app 并选择要添加的存储库。

links: