为什么VisualStudioOnline CI Build GetSources内部部署缓慢?

时间:2017-09-07 14:33:52

标签: tfs continuous-integration azure-devops tfsbuild

我已经设置了一个CI Build,它也在执行一些测试。

在GetSources步骤中,Clean设置为true。 我使用git repo。

当我在托管代理中运行构建时,“getSources”大约需要20秒。当我在内部代理上运行构建时,“getSources”大约需要20分钟!

我可以看到,内部代理在cpu和内存方面大多是空闲的。我还验证了网络速度大约为50 MBit / s。

为什么getSources需要这么长时间?

2 个答案:

答案 0 :(得分:2)

“清洁”选项对托管代理无效。

无论您为clean选项设置什么(对于干净源/所有构建目录/输出目录等都为false或true),当您使用Hosted代理对队列进行排队时,它始终只下载源。

假设您将Clean设置为true并清除所有构建目录。对于私有代理,它将删除包含sources文件夹,二进制文件夹,工件文件夹等的整个工作文件夹。但对于托管代理,它每次只下载源。

因此,托管代理的执行时间与私有代理的大部分时间不同。

要加快私人代理构建,您可以遵循以下任何一个方面:

  • 将Clean设置为false(更高效)。

    由于您正在对CI构建进行排队,因此如果将“清除”设置为“假”,则私有代理仅会将已修改/创建/删除的文件更新到本地源文件夹。

  • 如果仍需将Clean设置为true,则仅清理源。

    它只会清理文件和子文件夹源文件夹(s/)。但是如果您的项目足够大,那么您最好使用将Clean设置为false的方式。

答案 1 :(得分:0)

要回答“为什么?”,这是因为您在系统和Mi​​crosoft的数据中心之间复制了所有这些文件。我经历过同样的事情并购买了一些额外的管道来容纳。