【问题标题】:In a VSTS Git build, can Get Sources get one folder instead of the whole repo?在 VSTS Git 构建中,Get Sources 可以获取一个文件夹而不是整个仓库吗?
【发布时间】:2018-06-07 20:41:52
【问题描述】:

我的仓库中有多个构建。有时需要的文件重叠,但许多构建只需要 repo 的某些文件夹即可成功。然而,Get Sources 步骤每次将整个 repo 下载到代理,这通常需要大约 20 分钟,但有时(很少)只需要大约 5 分钟。

Get Sources 步骤有没有办法只获取选定的文件夹而不是整个 repo,以便构建可以更快地完成?

选择浅获取来获取最后一次提交会在一定程度上加快进程,在没有该选项的情况下获取大约 1/4 的文件。但这仍然是一个漫长的过程。

我已经看到这里提到的其他解决方案,即使用映射,但这似乎只在使用 TFVC 时可用,而不是 VSTS Git。还有其他来自 VSTS Git 源的解决方案吗?

【问题讨论】:

  • 听起来你的仓库太大或者里面有太多的二进制文件。考虑将其拆分为较小的存储库,或者如果它有很多二进制文件,则使用 Git-LFS 处理二进制文件。

标签: azure-devops azure-pipelines


【解决方案1】:

对于 VSTS git repo,目前无法在获取源步骤中指定要下载的部分文件。

如果构建在私有代理上排队,解决方法是在获取源步骤中将 Clean 选项设置为 false

将 Clean 选项设置为 false 后,它将在 Get sources 步骤中下载更改的文件(而不是所有文件)。

【讨论】:

    猜你喜欢
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    相关资源
    最近更新 更多