10

如何设置共享 ccache 而不会陷入权限问题?

我想运行具有最新更改的每晚或 CI 构建,并使用大型 ccache 存储库在整个研发过程中共享所有创建的二进制文件。

4

5 回答 5

11

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

于 2010-06-23T06:44:15.130 回答
3

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

于 2008-09-23T10:28:12.937 回答
2

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

于 2018-04-03T17:42:39.043 回答
0

如果您还使用相关的distcc,那么权限问题将在很大程度上消失,因为编译将在您设置的任何 compile-farm 主机上在它的控制下运行。

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

于 2008-09-23T10:52:27.733 回答
0

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

于 2019-06-25T06:10:16.527 回答