Renovate 文档阅读路线图面向入门、进阶、高级与自托管用户的官方学习指南【免费下载链接】renovateHome of the Renovate CLI: Cross-platform Dependency Automation by Mend.io项目地址: https://gitcode.com/GitHub_Trending/re/renovateRenovateMend.io 出品的跨平台依赖自动化工具官方文档页面众多初次接触者往往不知道从何读起。本指南以官方 reading-list 文档为骨架为 Beginners入门、Intermediate进阶、Advanced高级三类用户以及自托管Self-hosting与私有包Private packages两类特殊场景梳理出先读什么、后读什么、何时读的完整阅读路径并结合仓库中的预设定义、配置选项源码与相关文档说明每个阅读项能帮你掌握的具体能力。读完本文你将能根据自身定制需求定位到正确的文档章节并理解config:recommended、Dependency Dashboard、presets、customManagers/customDatasources等核心概念在 Renovate 中的真实位置与作用。阅读量取决于你想定制多少Renovate 的设计哲学是开箱即用按需定制官方文档为你准备好了一切默认行为而你需要读多少文档完全取决于你希望多大程度地定制 Renovate 的行为。只想让依赖自动更新、保持默认行为 → 读完 Beginners 清单即可甚至可以不读文档。希望调整更新节奏、合并策略、降低噪音 → 读完 Intermediate 清单并学会查阅 repository configuration options。需要自定义依赖提取逻辑、自定义数据源、跨仓库共享配置 → 进入 Advanced 清单。自己部署 Renovate 机器人、或需要更新私有包 → 分别补读 Self-hosting 与 Private packages 清单。官方的建议顺序是先按 Beginners 清单入门体验默认行为如果正在自托管或需要更新私有包再补读对应的专项清单。文档中同时提供了 Beginner / Intermediate / Advanced 三种用户类型的阅读清单从 Beginners 开始是最稳妥的路径。完全不知道从哪开始记住这五条如果你对 Renovate 一无所知官方给出的起点建议是直接使用 Mend Renovate App或让别人替你托管 Renovate——这样你无需关心部署细节只关注仓库配置。坚持使用config:recommended预设——它是官方为大多数用户准备的推荐配置与编程语言无关。使用 Dependency Dashboard——config:recommended会自动启用它你无需手动开启。阅读 Beginners 清单中的页面。只在真正需要时创建自定义 Renovate 配置——避免过早定制导致维护负担。config:recommended到底推荐了什么config:recommended不是一句空话它在仓库源码中有着明确的定义。查看 lib/config/presets/internal/config.preset.ts其描述为Recommended configuration for most users. It does not matter what programming language you use.适合大多数用户的推荐配置与你使用的编程语言无关并通过extends依次组合了以下预设与规则:dependencyDashboard—— 自动开启 Dependency Dashboard:semanticPrefixFixDepsChoreOthers—— 为依赖更新使用语义化提交前缀fix/chore:ignoreModulesAndTests—— 忽略node_modules、测试文件等路径group:monorepos与group:recommended—— 对 monorepo 与推荐场景进行分组mergeConfidence:age-confidence-badges—— 在 PR 中展示 Merge Confidence 徽章replacements:all与workarounds:all—— 应用社区积累的包替换建议与已知问题规避方案以及多个helpers:*DigestChangelogs、helpers:goXPackages*、helpers:renovateChangelog等变更日志链接辅助预设。也就是说仅凭{extends: [config:recommended]}一行你就能获得官方团队多年沉淀的默认最佳实践。想进一步收紧可参考同文件中的config:best-practices追加 Docker 镜像 digest 锁定、GitHub Action digest 锁定、配置迁移、开发依赖固定、废弃包建议、npm 最小发布年龄、每周锁文件维护等。配置文件所在的整体加载顺序与合并优先级可阅读 config-overviewDefault config → Global config → Inherited config → Presets → Repository config后者覆盖前者。Beginners 阅读清单跑通第一次依赖更新入门阶段的目标是让 Renovate 在你的仓库里成功跑起来、看得懂它产生的更新。按顺序阅读以下页面Installing Onboarding安装 Renovate 并完成仓库 onboarding首次接入时 Renovate 会创建 Onboarding PR 提议一份默认配置。Key concepts, Dependency Dashboard理解 Dependency Dashboard——Renovate 会在仓库中创建一个 issue 作为仪表盘集中展示所有待办更新的状态。Use Cases了解 Renovate 能覆盖的典型使用场景判断它是否适合你的项目。Running Renovate了解 Renovate 的一次运行包含哪些阶段提取依赖、查找更新、创建 PR 等。Troubleshooting遇到问题时先查这里例如更新未触发PR 未创建的常见原因与日志排查方法。Known limitations提前知晓 Renovate 的能力边界避免对不支持的场景抱有不切实际的期望。深入理解 Dependency DashboardDependency Dashboard 是入门用户最需要理解的机制之一。它要求宿主平台支持带动态 Markdown 复选框的 issue详见 FAQ 中关于平台能力差异的说明。启用方式有两种{ extends: [schedule:automergeDaily, :dependencyDashboard] }或直接设置布尔选项{ dependencyDashboard: true }由于config:recommended已经内置:dependencyDashboard绝大多数用户无需手动配置。如需关闭可追加:disableDependencyDashboard或设置dependencyDashboard: false。Dashboard 的价值体现在废弃/替换警告若依赖在其 registry 被标记为 deprecated或社区提供了替换包Renovate 会在 Dashboard 顶部显著提示。被拒绝/延后更新的可见性关闭 Renovate 的更新 PR 后该更新会进入 Dashboard 的 Closed/Ignored 区反悔时勾选对应复选框即可重新生成 PR。审批工作流通过:dependencyDashboardApproval可要求所有更新先经你批准再创建 PR安全漏洞修复 PR 仍会立即创建也可只在major对象或特定packageRules中开启实现仅大版本更新需审批或仅特定包需审批的精细化控制。这些行为都可以在 dependencyDashboard 相关配置选项 与 dashboard 文档 中找到完整说明。Intermediate 阅读清单按你的意愿改造 Renovate完成 Beginners 清单、并实际体验过 Renovate 的默认行为之后当你真正想/需要修改其行为时再进入本阶段。官方明确建议先体验默认行为再谈定制。Upgrade best practices学习升级依赖的最佳实践例如何时用 pin、何时用 range、如何处理大版本升级。Key concepts, presets理解 presets 的复用机制。Key concepts, Renovate scheduling通过schedule配置控制 Renovate 的运行窗口如仅工作日夜间、每月一次。Key concepts, automerge配置自动合并 PR 的策略与前提如 CI 通过、平台自动合并支持等。Key concepts, pull requests理解 Renovate 创建/更新/关闭 PR 的完整生命周期。Noise Reduction通过分组、调度、审批、关闭规则等手段降低更新噪音。此外通读一遍 repository configuration options 的目录了解 Renovate 提供哪些定制能力遇到感兴趣或匹配需求的选项再深入阅读。该页面是 Renovate 配置项的大全从abandonmentThreshold、addLabels、automerge、branchPrefix、commitMessage*到packageRules、prHourlyLimit、rangeStrategy、schedule、separateMajorMinor等一应俱全每个选项都标注了默认值、支持的环境变量名与适用层级全局/仓库/继承配置。presets 为什么是定制的核心presets 文档 指出presets 是以 JSON、JSON5 或 JSONC 格式存储的可复用配置片段。内置 preset 按名称引用如:dependencyDashboard、security:minimumReleaseAgeNpm自定义 preset 则按仓库位置引用见 Shareable Config Presets。用法只需加入extends数组{ extends: [config:recommended, helpers:pinGitHubActionDigests] }使用 presets 的好处是快速获得良好默认配置、避免配置重复、与他人共享配置、或直接继承他人配置并追加自己的规则。需要注意presets 之间存在逻辑冲突时extends数组中靠后的 preset 生效last one wins。管理多个仓库的配置时官方建议创建一份全局 preset 配置让所有仓库都extends它这样只需改一处即可全局生效。Advanced 阅读清单自定义提取逻辑与共享配置Advanced 阶段面向需要突破内置能力边界的用户。前提是已完成 Beginners 与 Intermediate 清单。核心三件事用customManagers旧称regexManagers定义你自己的自定义管理器manager用正则表达式从任意格式的文件中提取依赖。用customDatasources定义你自己的自定义数据源接入内置数据源之外的版本来源。阅读 Shareable Config Presets把配置沉淀为可共享的 preset支持 GitHub/GitLab/Gitea/Forgejo 仓库托管、本地文件、HTTP 服务器、npm 包等托管方式并支持 preset 参数与模板化。源码视角customManagers 与 customDatasources 的配置骨架这两个选项在配置选项中都有完整的子字段定义。以 lib/config/options/index.ts 中的customManagers为例其子选项包括customType自定义管理器的类型如 regexfileMatch要匹配的文件名/路径正则如[\\.dockerfile$]matchStrings从文件内容中提取依赖的捕获组正则depName/packageName/datasource/depType提取出的依赖名、包名缺省取depName、数据源与依赖类型currentValue/versioning/registryUrl/extractVersion当前版本、版本方案、registry 地址与版本提取规则autoReplaceString等用于自动替换逻辑的字段。同样地customDatasources允许为自定义数据源定义defaultRegistryUrlTemplate、format如json、plain、custom、transform等字段配合模板语法从自定义 API 响应中解析版本列表。这些字段的精确默认值与使用限制都可以在 configuration-options 对应小节逐一查到。定义好之后你可以把它们与packageRules的matchDatasources、matchManagers组合使用实现只对某种数据源/管理器应用某条规则。自托管 RenovateSelf-hosting阅读清单如果你打算自己部署和运行 Renovate而非使用托管 App需要阅读Running Renovate掌握运行方式与必备的全局配置如平台凭证。Self-hosting examples参考 Docker、Kubernetes、各平台 CI 等真实自托管示例。通读 self-hosted configuration options了解全局配置选项例如platform、token、repositories、gitAuthor、logFile、onboardingConfig、dryRun等。自托管场景下配置的加载方式更为关键。参考 config-overview全局配置可通过文件默认config.js可用RENOVATE_CONFIG_FILE指定路径、附加文件RENOVATE_ADDITIONAL_CONFIG_FILE、环境变量RENOVATE_*前缀含RENOVATE_CONFIG字符串化配置、CLI 参数如--platformgitlab四类来源提供其中 CLI 参数优先级最高。这些来源必须至少配置其一Renovate 才能获得运行所需的信息如凭证。此外还有以RENOVATE_X_开头的实验性环境变量见 self-hosted-experimental以及LOG_LEVEL、LOG_FILE、LOG_CONTEXT等日志相关变量在配置解析前加载。对于多仓库团队自托管者还可以利用 Inherited config继承配置当全局配置inheritConfig为true时Renovate 会在每个仓库处理前从{{parentOrg}}/renovate-config仓库读取org-inherited-config.jsonGitHub/Bitbucket/Azure DevOps 的定位规则见 config-overview 中的表格实现组织级默认配置而无需在每个仓库写配置。私有包Private packages阅读清单如果希望 Renovate 更新私有包私有 npm registry、私有 Maven 仓库、Git 私有仓库等请阅读 Private package support。该文档讲解如何通过hostRules为不同主机配置认证令牌token以及 npm 场景下的npmrc、NPM_TOKEN等凭证注入方式确保 Renovate 在解析依赖版本时能访问受保护的 registry。认证配置属于全局/仓库配置中较敏感的部分建议结合 host-rules 选项文档一起阅读理解matchHost、token、username/password等字段的组合规则。阅读路线图小结你的角色/目标必读内容产出能力全新用户Beginners 清单 config:recommendedRenovate 成功 onboarding 并自动更新依赖想定制行为Intermediate 清单 configuration-options 目录按需调整调度、合并、分组与噪音控制需要自定义提取/数据源Advanced 清单用customManagers/customDatasources覆盖非标准依赖自己部署Self-hosting 清单 self-hosted-configuration独立运行并管理全局/继承/仓库三层配置更新私有依赖Private packages 清单通过hostRules安全访问私有 registry核心原则始终如一阅读量 定制需求量。先用官方推荐配置跑起来再按本路线图逐级深入你就能在不迷失于海量文档的前提下把 Renovate 调整到恰好符合团队需求的形态。【免费下载链接】renovateHome of the Renovate CLI: Cross-platform Dependency Automation by Mend.io项目地址: https://gitcode.com/GitHub_Trending/re/renovate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考