Wie richte ich eine gemeinsame ccache
-
02-07-2019 - |
Frage
Wie richte ich eine gemeinsame ccache ohne in ein Berechtigungsproblem zu fallen?
Ich möchte einen nächtlichen oder CI bauen mit den neuesten Änderungen laufen und alle erstellten Binärdateien in der gesamten F & E teilen sich ein großes ccache Repository.
Lösung
Die einfachste Lösung: Erstellen Sie eine neue Gruppe (zum Beispiel „devel“) und alle Entwickler Mitglieder davon machen. Geben Sie Lese- / Schreibberechtigungen für diese Gruppe auf der Verzeichnishierarchie, wo der Cache gehalten wird. Die Entwickler werden auch ihre umask repariert werden muss.
Andere Tipps
Sehen Sie die neu geschrieben Teilen eines Cache Handbuch Abschnitt in ccache ist. Im Wesentlichen verwendet die gleiche CCACHE_DIR
Einstellung, setzte CCACHE_UMASK
angemessen und betrachtet CCACHE_BASEDIR
verwendet wird.
Wenn Sie auch die zugehörige distcc , dann werden die Berechtigungsprobleme weitgehend weg gehen würde, da die Compilations darunter die Kontrolle würde auf, was die Kompilierung Farm Hosts, die Sie festgelegt wird ausgeführt.
Sie könnten auch die Entwickler Desktop-Maschinen unter den distcc Gastgeber, allerdings auf Kosten etwas duplizierten Arbeit mit dem eine Datei möglicherweise auf mehr als eine Maschine kompiliert werden würde - allerdings wäre es nie veraltet kompilierten Objektdatei zurückgeben . Es wäre auch von Tag zu Tag Neukompilierungen beschleunigen.
Sie können auch einen Blick auf Mozillas nehmen sccache , die ein ccache artiges Werkzeug, das kann store bauen Artefakte in Cloud-Speicher (GCS / S3 / Azure oder redis / memcached).
Bitte finden Sie unter xcache .
Es ist ccache-Cloud und hat in alibaba verwendet, die einen hohen Wirkungsgrad hat.
Wenn Sie ccache verwenden, wäre es sehr leicht zu xcache wechseln.