如何设置共享ccache而不会遇到权限问题?

我想运行带有最新更改的夜间或CI构建,并使用大型ccache存储库在整个R& D中共享所有创建的二进制文件。

有帮助吗?

解决方案

最简单的解决方案:创建一个新组(例如“devel”),并使所有开发人员成为其中的成员。在维护缓存的目录层次结构上为该组授予读/写权限。开发人员还需要修复他们的umask。

其他提示

请参阅ccache手册中新写的共享缓存部分。实质上,使用相同的 CCACHE_DIR 设置,适当地设置 CCACHE_UMASK 并考虑使用 CCACHE_BASEDIR

如果您还使用相关的 distcc ,那么许可问题将在很大程度上消失,因为编辑将在你设置的任何编译农场主机的控制下运行。

您还可以在distcc主机中包含开发人员桌面计算机,但代价是有一些重复的工作,其中文件可能会在多台计算机上编译 - 尽管它永远不会返回过时的编译对象文件。它还可以加快日常的重新编译。

你也可以看看Mozilla的 sccache ,它是一个类似ccache的工具,可以在云存储中存储构建工件(GCS / S3 / Azure或redis / memcached)。

请参阅 xcache
它是ccache-cloud,已经在阿里巴巴使用,效率很高。 如果您使用的是ccache,那么切换到xcache非常容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top