Como configurar um ccache compartilhada
-
02-07-2019 - |
Pergunta
Como posso configurar um ccache compartilhada sem cair em um problema de permissões?
Eu gostaria de executar uma compilação noturno ou CI com as últimas alterações e compartilhar todos os binários criados em todo o R & D usando um grande repositório ccache.
Solução
A solução mais fácil: criar um novo grupo (por exemplo, "devel"), e fazer todos os desenvolvedores membros dela. Dê permissões de leitura / gravação a esse grupo na hierarquia do diretório onde o cache é mantida. Os desenvolvedores também terão de fixar sua umask.
Outras dicas
Veja a href="https://ccache.dev/manual/latest.html#_sharing_a_cache" rel="nofollow noreferrer"> Sharing um cache seção CCACHE_DIR, conjunto CCACHE_UMASK
adequadamente e considerar o uso CCACHE_BASEDIR
.
Se você também usar o relacionado distcc , então os problemas de permissão seria em grande parte vai embora, como as compilações seria executado sob controle, de em qualquer anfitriões compilação-agrícolas definidos.
Você também pode incluir as máquinas de desenvolvedores de desktop entre as hostes de distcc, embora à custa de ter algum trabalho duplicado em que um arquivo poderia potencialmente ser compilado em mais de uma máquina - embora nunca retornaria um desatualizado compilado arquivo objeto . Ele também iria acelerar dia para recompilações dia.
Você também pode dar uma olhada em Mozilla da sccache , que é um ccache-como ferramenta que pode artefatos loja de construção em armazenamento em nuvem (GCS / S3 / Azure ou Redis / memcached).
Por favor, veja xcache .
É ccache-nuvem e tem sido usado no Alibaba, que tem alta eficiência.
Se você estiver usando ccache, seria muito fácil de mudar para xcache.