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é.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top