什么是 GitHub Dependabot?
GitHub Dependabot 是一个直接集成到 GitHub 中的强大功能,可帮助您管理项目的依赖项并确保其安全。它通过扫描您的存储库并自动创建拉取请求以将过时的依赖项和已知的安全漏洞更新到最新、安全的版本,从而自动化了繁琐的检查过程。这确保您的项目始终保持最新状态并免受潜在威胁,无需手动干预。
主要特点
- 自动依赖项更新: Dependabot 会自动创建拉取请求,将您的依赖项更新到最新版本,帮助您及时了解新功能和改进。
- 安全漏洞警报: 它会扫描您的项目,查找具有已知漏洞的依赖项(基于 GitHub Advisories)并向您发出警报。它甚至可以创建拉取请求将依赖项升级到已修补的版本。
- 广泛的语言支持: Dependabot 支持广泛的包管理器和生态系统,包括 npm、Maven、pip、RubyGems、Go 模块等等。
- 可自定义配置: 您可以使用存储库中的
dependabot.yml文件来微调 Dependabot 的行为。这允许您指定要检查的包生态系统、检查更新的频率以及为拉取请求分配审查者。 - 无缝的 GitHub 集成: 作为一个原生的 GitHub 工具,它无缝集成到您的工作流程中,直接在您的存储库用户界面中提供警报和拉取请求。
使用案例
- 持续维护: 自动保持所有存储库中的所有项目依赖项为最新状态,从而随着时间的推移减少技术债务。
- 自动化安全修补: 通过在发现易受攻击的依赖项后立即创建拉取请求来更新它们,从而快速自动地响应安全公告。
- 供应链安全: 通过确保所有第三方软件包都是最新的并且没有已知的漏洞,来增强您的软件供应链安全。
- 多项目管理: 从一个统一的平台高效地管理拥有数百个存储库的组织的依赖项。
入门指南
开始使用 GitHub Dependabot 非常简单。对于大多数项目,您只需点击几下即可启用它。
- 在 GitHub 上导航到您的存储库。
- 点击 Settings 选项卡。
- 在左侧边栏中,点击 Code security and analysis。
- 在“Dependabot alerts”和“Dependabot security updates”旁边,点击 Enable。
为了获得更多控制权,您可以向存储库添加一个 .github/dependabot.yml 文件。该文件允许您为 Dependabot 支持的语言和包管理器配置版本更新。
以下是一个基本的 dependabot.yml 文件示例,它配置了 npm 和 Docker 的更新:
```yaml
基本的 dependabot.yml 文件
version: 2 updates: # 为 npm 启用版本更新
- package-ecosystem: “npm”
在
root目录中查找package.json和lock文件directory: “/”
每天检查更新(默认为每周)
schedule: interval: “daily”
# 为 Docker 启用版本更新
- package-ecosystem: “docker”
在
root目录中查找Dockerfiledirectory: “/” schedule: interval: “daily”
定价
GitHub Dependabot 对公共存储库免费。对于私有存储库,Dependabot 警报和安全更新也是免费的。但是,自动版本更新会使用 GitHub Actions 分钟数,这些分钟数包含在 GitHub Pro、Team 和 Enterprise 计划中。