使用 azure devops 构建 .net 核心项目。我想控制所使用的 sdk/runtime,我的 sdk/runtime 添加到哪个位置供代理人取件?
using azure devops to build .net core project . I want to control the sdk/runtime used, which location to add my sdk/runtime for agent to pickup?
- 将我的 sdk/runtime 添加到哪个位置以供代理人取货和使用
管道?
- 正在查看https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops
- https://github.com/microsoft/azure-pipelines-tool-lib/blob/master/docs/overview.md#tool-cache
- 这些是正确的资源吗?如何添加我自己的 sdk?
您可以使用任务UseDotNet@2 来设置SDK 版本。此任务必须在使用 SDK 的任何任务之前执行。例如任务,如果你有任务 DotNetCoreCLI@2 那么 UseDotNet@2 必须在它之前执行。
例如,下面的任务会安装 SDK 版本 5.0.100(如果尚未安装)。
- task: UseDotNet@2
displayName: 'Install .Net SDK 5.0.100, if not installed already.'
inputs:
packageType: sdk
version: '5.0.100'
经典编辑器
Ramesh 提供了正确答案。您几乎总是希望使用构建代理上提供的 SDK,或使用 UseDotNet@2 任务。也就是说,您可以使用 PowerShell@2 之类的任务并编写一个脚本来安装 SDK,但它最适合您。不过,我会说这是非典型的。
要回答有关添加 SDK 的位置的问题,这取决于您是否具有网络访问权限,可以在其他地方访问它(即,不在构建代理上,也不在您的源代码中)。例如,如果是这样,您可以将其放入 AWS S3 存储桶中。否则,您可以将它包含在您的存储库中并以这种方式引用它——如果文件很大,这通常不太好。
lets say I have sdk/runtime files with me(in my local). I want the pipeline task to use the files I give it(i dont want the agent to do downloads from internet/elsewhere).how can I achieve this?
如果你想使用你本地的sdk/runtime,你需要使用self-hosted agents in pipeline, and then configure its capabilities to add it to the PATH. 是类似的例子。
如果代理池中有多个代理,您可以specify demands确保您的管道需要的功能存在于运行它的代理上。
顺便说一句,您可以参考此文档:Build, test, and deploy .NET Core apps 了解更多详细信息。
- 将我的 sdk/runtime 添加到哪个位置以供代理人取货和使用 管道?
- 正在查看https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops
- https://github.com/microsoft/azure-pipelines-tool-lib/blob/master/docs/overview.md#tool-cache
- 这些是正确的资源吗?如何添加我自己的 sdk?
您可以使用任务UseDotNet@2 来设置SDK 版本。此任务必须在使用 SDK 的任何任务之前执行。例如任务,如果你有任务 DotNetCoreCLI@2 那么 UseDotNet@2 必须在它之前执行。
例如,下面的任务会安装 SDK 版本 5.0.100(如果尚未安装)。
- task: UseDotNet@2
displayName: 'Install .Net SDK 5.0.100, if not installed already.'
inputs:
packageType: sdk
version: '5.0.100'
经典编辑器
Ramesh 提供了正确答案。您几乎总是希望使用构建代理上提供的 SDK,或使用 UseDotNet@2 任务。也就是说,您可以使用 PowerShell@2 之类的任务并编写一个脚本来安装 SDK,但它最适合您。不过,我会说这是非典型的。
要回答有关添加 SDK 的位置的问题,这取决于您是否具有网络访问权限,可以在其他地方访问它(即,不在构建代理上,也不在您的源代码中)。例如,如果是这样,您可以将其放入 AWS S3 存储桶中。否则,您可以将它包含在您的存储库中并以这种方式引用它——如果文件很大,这通常不太好。
lets say I have sdk/runtime files with me(in my local). I want the pipeline task to use the files I give it(i dont want the agent to do downloads from internet/elsewhere).how can I achieve this?
如果你想使用你本地的sdk/runtime,你需要使用self-hosted agents in pipeline, and then configure its capabilities to add it to the PATH.
如果代理池中有多个代理,您可以specify demands确保您的管道需要的功能存在于运行它的代理上。
顺便说一句,您可以参考此文档:Build, test, and deploy .NET Core apps 了解更多详细信息。