谷歌计算引擎:在可抢占虚拟机上运行构建时进行缓存



我们刚刚从一个全天候运行的构建代理迁移了我们的Jenkins构建,通过谷歌计算引擎插件使用GCE Preemtible VM。

现在我们的构建需要更长的时间,因为所有构建几乎每次都需要解决所有依赖项(Docker Images、Maven Artifacts、NPM Packages等(。虚拟机上的缓存不再有效,因为虚拟机在几分钟后停止。

有没有一个快速的解决方案或最佳实践可以适用于不同的用例(Docker、Maven、NPM(?

例如

  • 我可以启用一个"更接近"(就网络延迟而言(谷歌云中虚拟机的代理或CDN吗
  • 或者安装一个用于持久化Images、本地Maven Repo和NPM Cache的bucket会加快速度吗
  • 还有其他想法吗

CDN会缓存HTTP(S(负载平衡的内容,因此不确定它是否适合您的用例。就延迟而言,代理可能是一种可能的解决方法,但它也可能取决于您的设计和用例。然而,我看到了他们建议使用谷歌云存储(GCS(的地方。如果你在与VM相同的地区使用GCS,这似乎有助于加快进程。

最新更新