【问题标题】:Any way to cache git source files?有什么办法可以缓存 git 源文件?
【发布时间】:2020-05-29 10:29:55
【问题描述】:

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

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

【问题讨论】:

    标签: azure azure-devops azure-pipelines


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 谢谢@levi,我很怀疑。我想我可以禁用同步,然后自己在脚本中获取源,并以这种方式缓存它们
    猜你喜欢
    • 2019-02-14
    • 2011-04-09
    • 1970-01-01
    • 2011-10-18
    相关资源
    最近更新 更多