Cómo configurar una caché compartida
-
02-07-2019 - |
Pregunta
¿Cómo puedo configurar un ccache compartido sin caer en un problema de permisos?
Me gustaría ejecutar una compilación nocturna o de CI con los últimos cambios y compartir todos los archivos binarios creados en todo el departamento de I+D mediante un gran repositorio de caché.
Solución
La solución más sencilla:crear un nuevo grupo (p. ej."devel") y convertir a todos los desarrolladores en miembros del mismo.Otorgue permisos de lectura/escritura a ese grupo en la jerarquía de directorios donde se mantiene el caché.Los desarrolladores también deberán arreglar su umask.
Otros consejos
Ver lo recién escrito Compartir un caché sección del manual de ccache.En esencia, usa lo mismo. CCACHE_DIR
configuración, establecer CCACHE_UMASK
apropiadamente y considere usar CCACHE_BASEDIR
.
Si también utilizas el relacionado distrito, entonces los problemas de permisos desaparecerían en gran medida, ya que las compilaciones se ejecutarían bajo su control en cualquier host de granja de compilación que establezca.
También podría incluir las máquinas de escritorio de los desarrolladores entre los hosts distcc, aunque a expensas de tener algún trabajo duplicado donde un archivo potencialmente se compilaría en más de una máquina, aunque nunca devolvería un archivo objeto compilado desactualizado.También aceleraría las compilaciones diarias.
También puedes echar un vistazo a Mozilla. scache, que es una herramienta similar a ccache que puede almacenar artefactos de compilación en el almacenamiento en la nube (GCS/S3/Azure o redis/memcached).
Por favor mira xcaché.
Es ccache-cloud y se ha utilizado en alibaba, que tiene una alta eficiencia.Si está utilizando ccache, sería muy fácil cambiar a xcache.