我已经设置了一个CI Build,它也在执行一些测试。
在GetSources步骤中,Clean设置为true。 我使用git repo。
当我在托管代理中运行构建时,“getSources”大约需要20秒。当我在内部代理上运行构建时,“getSources”大约需要20分钟!
我可以看到,内部代理在cpu和内存方面大多是空闲的。我还验证了网络速度大约为50 MBit / s。
为什么getSources需要这么长时间?
答案 0 :(得分:2)
“清洁”选项对托管代理无效。
无论您为clean选项设置什么(对于干净源/所有构建目录/输出目录等都为false或true),当您使用Hosted代理对队列进行排队时,它始终只下载源。
假设您将Clean设置为true并清除所有构建目录。对于私有代理,它将删除包含sources文件夹,二进制文件夹,工件文件夹等的整个工作文件夹。但对于托管代理,它每次只下载源。
因此,托管代理的执行时间与私有代理的大部分时间不同。
要加快私人代理构建,您可以遵循以下任何一个方面:
将Clean设置为false(更高效)。
由于您正在对CI构建进行排队,因此如果将“清除”设置为“假”,则私有代理仅会将已修改/创建/删除的文件更新到本地源文件夹。
如果仍需将Clean设置为true,则仅清理源。
它只会清理文件和子文件夹源文件夹(s/
)。但是如果您的项目足够大,那么您最好使用将Clean设置为false的方式。
答案 1 :(得分:0)
要回答“为什么?”,这是因为您在系统和Microsoft的数据中心之间复制了所有这些文件。我经历过同样的事情并购买了一些额外的管道来容纳。