在自托管的 Azure DevOps 代理上安装 dotnet SDK 还是在构建管道中添加 UseDotNet@2 任务更好?

Is it better to install dotnet SDK on self-hosted Azure DevOps agent, or add the UseDotNet@2 task in the build pipeline?

我已经在 Docker 容器中配置了一个基于 Ubuntu 20.04 运行 的自托管 Linux 代理。它向代理池报告并正确运行。我将成为 AWS Fargate 中的 运行 代理。

我的问题是在我的 Docker 图像中安装 dotnet SDK 是否被认为是最佳实践,这会大大增加图像的大小,或者最好不要安装它并要求构建管道以通过 UseDotNet@2 任务安装它,每次启动新代理时都会导致延迟?

是否有最佳实践或一般指导,任何人都可以引用文档吗?

谢谢!

我更喜欢 UseDotNet@2 任务。 UseDotNet@2 任务从 Internet 或工具缓存中获取特定版本的 .NET Core 并将其添加到 PATH 中。此任务可以更改后续任务中使用的 .NET Core 版本。即使您在代理机器上安装了 dotnet SDK,您也需要使用 UseDotNet@2 任务来更改 .NET Core 的版本。如果你在机器上更新 sdk,它可能会导致管道 运行 中断。虽然新代理启动时可能会有一些延迟,但它只会导致第一个延迟 运行.