我们正在使用 VSTS 托管构建服务器构建CD管道。恢复Nuget需要3分钟以上。这太时间了。
如何让它跑得更快?我们可以使用任何类型的缓存系统吗?
答案 0 :(得分:0)
Caching is currently on the feature pipeline(带有待定日期)。同时,您可以使用Upload Pipeline Artifact / Download Pipeline Artifact任务将结果存储在Azure DevOps帐户中,以加快/下载速度。
Work-in-progress can be tracked here。
同时,Microsoft 1ES (one engineering system, internal organization) has released their internal solution that uses Universal Packages to store arbitrary packages in your Azure DevOps account。这是非常快的,因为它可以同步先前软件包之间的增量。 There is a sample on how to configure your Azure Pipeline to store the NuGet package cache in your Sources Directory in order for the task to cache them。
private static void Main()
{
var words = new[] {"dog", "coyote", "fox"};
var input = "The quick brown fox jumps over the lazy dog";
var wordCount = words.Sum(word => Regex.Matches(input, word).Count);
// wordCount = 2
}
答案 1 :(得分:0)
这不是一个确切的答案,但是将CI从VSTS迁移到“ Github操作”,使我们能够利用Github的cache
来缓存部署之间的整个packages
文件夹,并且现在要快一点。 / p>
PS。 Github操作实际上是使用相同的Azure工作者,因此从技术上讲,我们仍在使用Microsoft ...
答案 2 :(得分:0)