首页 > 解决方案 > 有什么办法可以缓存 git 源文件?

问题描述

构建管道中有这个很棒的缓存任务。它可以很好地缓存 nuget 和 npm 包(以及其他),但我没有看到 git 源的必然结果。

除了禁用内置的获取源并将我们自己的 git checkout 作为任务运行之外,有什么方法可以做到这一点?我们有一个相对较大的存储库,大约需要 3 分钟才能同步。如果可能的话,我想减少它。我已经尝试过使用设置为深度 1 的浅提取,但它并没有明显改变结帐时间。

标签: azureazure-devopsazure-pipelines

解决方案


Azure devops 目前没有缓存 git 源的这个功能。

但是,如果您使用自托管代理,则 git 源将默认缓存在您的自托管代理机器上(在管道源代码目录中。例如。C:\agent\_work\1\s)。下次运行管道时,它只会将更改的文件检出到本地计算机。

因此,您可以创建一个自托管代理来运行您的管道。在此处查看创建自托管代理的详细步骤。

(如果您想在每次运行管道时清理源代码文件夹。您可以将 checkout 步骤设置为。checkoutclean步骤的 clean 选项不适用于 Microsoft 托管的代理。因为每次运行管道时,您都会得到一个新的虚拟机。虚拟机在使用一次后被丢弃。)true

您也可以单击此处向 Microsoft 开发团队提交功能请求(单击Suggest a feature并选择Azure Devops。)。希望他们将来会考虑添加此功能。


推荐阅读