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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top