Wie verwende ich den Cache für ein Rails-Projekt in Gitlab CI?

8

Ich habe versucht, den Cache von Gitlab Ci für meine Ruby-on-Rails-Anwendung zu nutzen, aber bisher hatte ich noch kein Glück, meine Anwendung verwendet geteilte Läufer, vielleicht ist das das Problem?

Hier sind die Inhalte meiner .gitlab-ci.yml

%Vor%

Wenn meine Tests ausgeführt werden, sehe ich, dass der Runner nach zwischengespeicherten Inhalten sucht, aber er stellt sie nie wieder her:

%Vor%

Und wenn der Build kurz vor dem Abschluss steht, sehe ich, dass er versucht, den Cache zu erstellen:

%Vor%

Irgendwelche Ideen?

    
Manuel Martinez 12.05.2016, 16:03
quelle

2 Antworten

1

Der Cache hat einige Wochen nachdem ich diese Frage gestellt hatte, richtig angefangen zu arbeiten, es waren keine Änderungen an meiner Konfiguration erforderlich. Ich glaube, es hat mit einem Update gitlab ausgerollt.

    
Manuel Martinez 31.03.2017, 17:54
quelle
3

Gitlab Runner erstellt standardmäßig den Cache im Git-Arbeitsverzeichnis. Wie Sie bereits erwähnt haben, wird Ihr Cache korrekt erstellt, aber er wird im aktuellen git-Arbeitsverzeichnis von gitlab-runner gespeichert. Wann immer der nächste Build ausgeführt wird, reinigt Gitlab-Runner das Arbeitsverzeichnis (wahrscheinlich mit git clean -dfx), wodurch das Cache-Verzeichnis im Git-Arbeitsverzeichnis entfernt wird.

Sie müssen ein separates Cache-Verzeichnis für gitlab-runner angeben. Sie können dies manuell in der Datei /etc/gitlab-runner/config.toml im Abschnitt [[runners]] mit dem Einstellungsschlüssel cache_dir angeben. Erweiterte CI-Konfiguration von Gitlab

Sie können das Cache-Verzeichnis auch während der gitlab-Runner-Registrierung angeben, indem Sie die Option --cache-dir wie in

verwenden %Vor%

Hoffe, das hilft

    
raj 23.06.2016 04:18
quelle