Renovate
自动化依赖更新。 多平台和多语言支持。
为什么使用 Renovate?
- 获得自动化的拉取请求来更新您的依赖
- 通过按计划运行 Renovate 来减少干扰,例如:
- 在周末
- 在工作时间之外
- 每周
- 每月
- 自动发现相关的包文件
- 无需额外配置即可支持带有工作区的单体仓库架构
- 机器人行为可通过配置文件自定义(代码即配置)
- 使用类似 ESLint 的共享配置预设,便于使用和简化配置(仅 JSON 格式)
- 支持锁文件并在同一提交中更新,包括在合并 PR 时立即解决冲突
- 获得替换 PR,将废弃的依赖迁移到社区建议的替代品,适用于大多数管理器,例外情况请参见 issue 14149
- 开源(可通过 npm/Yarn 或 Docker Hub 安装),因此可以自托管或通过 Mend Renovate 应用程序使用
支持的平台
Renovate 支持以下平台:
- GitHub(.com 和企业版服务器)
- GitLab(.com 和 CE/EE)
- Bitbucket Cloud
- Bitbucket Server
- Azure DevOps
- AWS CodeCommit
- Gitea 和 Forgejo
- Gerrit(实验性)
谁在使用 Renovate?
Renovate 在开发者社区广泛使用:
使用 Renovate 的公司和项目列表
- Prisma
- Netlify
- Envoy
- Condé Nast
- Microsoft
- Atlassian
- Sourcegraph
- Mozilla
- Deloitte
- Telus
- Yarn
- HashiCorp
- Automattic
- Algolia
- eBay
- Cypress
- Red Hat
- Financial Times
- Uber
- Buildkite
Renovate 开源软件洞察
Renovate 建立在一个庞大的社区基础之上,并积极邀请和支持贡献。 关于我们的贡献者和社区的信息可以在 OSS Insight 上找到。
星标历史
Renovate 的方法
我们相信每个人都能从自动化中受益,无论多少。 这意味着 Renovate:
- 适应您的工作流程
- 允许您配置其行为
- 会尽可能自动检测设置
使用 Renovate
通过查看我们的教程开始使用 Renovate。
GitHub
我们建议您使用 Mend Renovate 应用程序。 立即安装 Mend Renovate 应用程序。 有关 Mend Renovate 应用程序安装的更多详细信息。
Azure DevOps
在 Azure DevOps 上运行 Renovate 有两种方式:
- Renovate Me 扩展
- 自定义流水线
Renovate Me 扩展
前往 Visual Studio Marketplace 并在您的组织中安装 Renovate Me 扩展。
之后,您可以使用 RenovateMe
任务创建一个流水线。
[!注意] 此扩展由 Renovate 的一位开发者/用户个人创建和维护,因此与扩展本身相关的支持请求无法直接在 Renovate 主仓库中得到回答。
自定义流水线
您可以创建一个触发 npx renovate
的自定义流水线,使用 yml
定义。
有关如何配置流水线的更多详细信息。
Bitbucket Cloud/Server、Forgejo、Gitea、GitLab
对于 Bitbucket Cloud、Bitbucket Server、Forgejo、Gitea 和 GitLab,请使用我们的自托管选项。
配置
访问我们的文档网站了解如何配置 Renovate。 我们有一份完整的配置选项列表。
如需获取配置帮助,请前往 Renovate 仓库的讨论标签并开启一个新的"配置帮助"讨论帖。
自托管
要运行您自己的 Renovate 实例,您有几个选择:
- 从 npmjs 安装
renovate
CLI 工具,按计划运行(例如使用cron
) - 运行
renovate/renovate:full
Docker Hub 镜像(与 CLI 工具内容/版本相同),按计划运行 - 如果您只使用不需要第三方二进制文件的包管理器(例如 JavaScript、Docker、NuGet、pip),可以运行
renovate/renovate:latest
Docker Hub 镜像
贡献
如果您想为 Renovate 做出贡献或运行本地副本,请阅读贡献指南中的说明。 要开始,请查看适合新手的问题列表。
安全 / 披露
如果您发现 Renovate 中可能存在安全问题的任何错误,请发送电子邮件至:renovate-disclosure@mend.io。 这样我们就可以评估该错误,并希望在它被滥用之前修复它。 在您在其他地方报告之前,请给我们足够的时间调查该错误。
请不要为安全相关的疑问或问题创建 GitHub 问题。