Domanda

Come posso impostare un ccache condiviso senza cadere in un problema di permessi?

Vorrei eseguire un build notturno o CI con le ultime modifiche e condividere tutti i file binari creati in tutto l'R & amp; D utilizzando un repository ccache di grandi dimensioni.

È stato utile?

Soluzione

La soluzione più semplice: crea un nuovo gruppo (ad es. " devel ") e rendine membri tutti gli sviluppatori. Concedere le autorizzazioni di lettura / scrittura a quel gruppo nella gerarchia di directory in cui viene mantenuta la cache. Gli sviluppatori dovranno anche riparare la loro umask.

Altri suggerimenti

Vedi la nuova condivisione della cache appena scritta nel manuale di ccache. In sostanza, utilizzare la stessa impostazione CCACHE_DIR , impostare CCACHE_UMASK in modo appropriato e considerare l'utilizzo di CCACHE_BASEDIR .

Se si utilizza anche la distcc correlata, i problemi di autorizzazione sparirebbero in gran parte, poiché le compilation verrebbe eseguito sotto il suo controllo su qualsiasi host di compilazione-fattoria impostato.

Potresti anche includere le macchine desktop degli sviluppatori tra gli host distcc, anche se a scapito di avere un lavoro duplicato in cui un file potrebbe essere compilato su più di una macchina - anche se non restituirebbe mai un file oggetto compilato non aggiornato . Accelererebbe anche le ricompilazioni quotidiane.

Puoi anche dare un'occhiata a sccache di Mozilla, che è uno strumento simile a ccache che può archivia i manufatti di build nel cloud storage (GCS / S3 / Azure o redis / memcached).

Vedere xcache .
È ccache-cloud ed è stato utilizzato in Alibaba che ha un'alta efficienza. Se stai usando ccache, sarebbe molto facile passare a xcache.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top