我们正在使用VSTS托管的构建服务器构建 CD 管道。恢复 Nuget 需要 3 分钟以上。这时间太多了。
我怎样才能让它运行得更快?我们可以使用任何类型的缓存系统吗?
我们正在使用VSTS托管的构建服务器构建 CD 管道。恢复 Nuget 需要 3 分钟以上。这时间太多了。
我怎样才能让它运行得更快?我们可以使用任何类型的缓存系统吗?
更新:缓存现在普遍可用(文档)
缓存目前在功能管道上,日期待定。同时,您可以使用 Upload Pipeline Artifact/Download Pipeline Artifact 任务将结果存储在您的 Azure DevOps 帐户中以加快/下载速度。
可以在此处跟踪进行中的工作。
与此同时,Microsoft 1ES(一个工程系统,内部组织)发布了他们的内部解决方案,该解决方案使用通用包将任意包存储在您的 Azure DevOps 帐户中。它非常快,因为它可以在以前的包之间同步增量。有一个关于如何配置 Azure Pipeline 以将 NuGet 包缓存存储在源目录中以便任务缓存它们的示例。
variables:
NUGET_PACKAGES: $(Build.SourcesDirectory)/packages
keyfile: '**/*.csproj, **/packages.config, salt.txt'
vstsFeed: 'feed name'
steps:
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCache@1
displayName: 'Restore artifact'
inputs:
keyfile: $(keyfile)
targetfolder: $(NUGET_PACKAGES)
vstsFeed: $(vstsFeed)