与TeamCity合作,我们设置了200个VM作为构建代理。我们正在考虑节省转移到Docker的VMware许可证成本。是否有任何以前的经验可以提供更好的性能?
我的目标不是牺牲性能,但是如果Docker提供与VMware相同的性能,我们将切换到Docker。
我的构建代理VM在Windows或ubuntu上运行。在Linux上构建的版本主要使用Python,而Windows系统主要使用Visual Studio(不同版本)。我们将自己进行性能测试,但我想知道是否有人以前曾经做过此事,并从中受益过。
最佳答案
我最近构建了自己的临时Docker容器构建代理。我已经使用它们大约4个月来为25个以上的不同项目进行构建。依赖关系管理比让不同的VM运行构建代理要好得多。您还可以选择在单个VM上运行许多构建代理。从虚拟机切换到docker build代理时,我没有看到性能下降。使用群管理器很容易根据您的需要增加或减少代理。
如果您有兴趣,我还有一个有用的脚本,可以自动从Docker授权新代理。 TeamCity无法自动授权代理,这似乎必须通过API来完成。
TL; DR Docker构建代理更易于使用,开销更少,短暂,并且性能(可见)没有降低。
关于docker - TeamCity CI的VMware或Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50281160/