技术速递|使用 Dependabot 管理 .NET SDK 更新
作者:Jamie Magee - 高级软件工程师
排版:Alan Wang
保持 .NET SDK 版本的更新对于维护安全高效的应用程序至关重要。现在 Dependabot 可以在 global.json 中更新 .NET SDK 版本,这使您可以比以往更轻松地确保自己的应用程序始终运行最新的安全补丁和改进。
定期更新 SDK 至关重要,因为它们包括:
-
已知漏洞 (CVE) 的安全补丁
-
错误修复和性能改进
-
最新的开发工具和功能
使用 global.json 管理 SDK 版本
若要管理 .NET SDK 版本,通常需要在项目中使用 global.json 文件。此文件指定项目应使用哪个版本的 SDK。以下是一个简单的 global.json 文件示例:
{
"sdk": {
"version": "9.0.100"
}
}
如果您正在使用 GitHub Actions 和 dotnet/setup-dotnet Action,此文件将确保在您的 CI/CD 管道中使用正确的 SDK 版本。
配置 Dependabot 以进行 .NET SDK 更新
请在默认分支中的 .github/dependabot.yml 文件路径下将一个 dependabot.yml 文件添加到您的存储库。如果您始终希望收到最新更新,则最简单配置将如下所示:
version: 2
updates:
- package-ecosystem: "dotnet-sdk"
directory: "/"
但是 .NET SDK 更新大多在“补丁星期二”(每月的第二个星期二)发布,因此您可能需要调整更新计划,以便每周仅检查一次更新。您可以通过添加 schedule 部分来实现这一点:
version: 2
updates:
- package-ecosystem: "dotnet-sdk"
directory: "/"
schedule:
interval: "weekly"
day: "wednesday"
此外,如果您只想关注安全补丁,可以忽略主要版本和次要版本更新。这可以通过添加 ignore 部分来实现:
version: 2
updates:
- package-ecosystem: "dotnet-sdk"
directory: "/"
schedule:
interval: "weekly"
day: "wednesday"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
Dependabot 还将遵守 global.json 文件中的 allowPrerelease 设置。因此,如果您想在更新中包含预发布版本,请确保相应地设置该选项。
有关所有可用配置选项的更多详细信息,请参阅 Dependabot 文档。
Dependabot NuGet 软件包更新
除了 .NET SDK 更新之外,您还可以配置 Dependabot 来管理您的 NuGet 包依赖项。去年,我们显著改进了 Dependabot 中的 NuGet 支持,以管理更复杂的场景,因此您也可以轻松地让您的包保持最新状态。
反馈
您可以通过在 Dependabot 存储库中打开问题来与我们分享反馈。如果您有任何问题或建议,也可以在此帖子上发表评论。