Вопрос

Как я могу настроить общий кэш, не столкнувшись с проблемой разрешений?

Я хотел бы запускать ночную сборку или сборку CI с последними изменениями и делиться всеми созданными двоичными файлами во время исследований и разработок, используя большой репозиторий ccache.

Это было полезно?

Решение

Самое простое решение:создайте новую группу (например."devel") и сделайте его участниками всех разработчиков.Предоставьте разрешения на чтение/запись этой группе в иерархии каталогов, где поддерживается кеш.Разработчикам также необходимо будет исправить свою маску.

Другие советы

Посмотрите недавно написанное Общий доступ к кэшу раздел в руководстве ccache.По сути, используйте то же самое CCACHE_DIR установка, установка CCACHE_UMASK соответствующим образом и рассмотрите возможность использования CCACHE_BASEDIR.

Если вы также используете соответствующий distcc, тогда проблемы с разрешениями в значительной степени исчезнут, поскольку компиляции будут выполняться под его контролем на любых хостах фермы компиляции, которые вы установите.

Вы также можете включить настольные компьютеры разработчиков в число хостов distcc, но за счет дублирования работы, когда файл потенциально может быть скомпилирован на более чем одной машине, хотя он никогда не будет возвращать устаревший скомпилированный объектный файл.Это также ускорило бы повседневную перекомпиляцию.

Вы также можете взглянуть на Mozilla scache, который представляет собой инструмент, похожий на ccache, который может хранить артефакты сборки в облачном хранилище (GCS/S3/Azure или redis/memcached).

Пожалуйста, посмотри xcache.
Это ccache-cloud, который использовался в Alibaba и имеет высокую эффективность.Если вы используете ccache, переключиться на xcache будет очень легко.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top