December 19th, 2024

使用 Dependabot 管理 .NET SDK 更新

Eddie Chen
Partner Technical Advisor

本文翻译自微软高级软件工程师 Jamie Magee 的Using Dependabot to Manage .NET SDK Updates

保持 .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 ,此文件将确保在您的 CI/CD 管道中使用了正确的 SDK 版本。

配置 Dependabot 以进行 .NET SDK 更新 

添加一个dependabot.yml文件到您代码仓库默认分支的.github/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仓库中提交问题与我们分享反馈。如果您有任何问题或建议,也可以在此帖子上留言。

Author

Eddie Chen
Partner Technical Advisor

0 comments