Ich benutze gitlab-ci-multi-runner mit Docker-Containern. Alles läuft gut, aber Docker Container halten nicht den composer
Cache, so dass in jedem Lauf composer
immer wieder Abhängigkeiten herunterlädt, was eine Menge Zeit in Anspruch nimmt. Gibt es eine Möglichkeit, den Andock-Container gitlab-ci-runner
so zu konfigurieren, dass der Cache composer
bei jedem Lauf, in dem der Cache composer
gehalten wird, einen Cache erhält oder einen Datenträger einbindet?GitLab-CI Multi Runner PHP Composer Cache
18
A
Antwort
5
Sie können den Composer-Cache-Pfad ändern und das Material in ein Andock-Volume schreiben.
Dieser Speicher ist persistent und kann über Container hinweg gemeinsam genutzt werden.
Referenzierung:
30
können Sie den Pfad Komponist Cache, indem Sie die Variable in der runner configuration Datei COMPOSER_CACHE_DIR
Umgebung exportieren ändern, und dann ein Volumen im [runners.docker]
Abschnitt hinzufügen dazu passen. Wenn Sie gitlab-runner als root oder mit sudo ausführen, befindet sich Ihre Konfigurationsdatei unter /etc/gitlab-runner/config.toml
. Ansonsten befindet es sich unter $HOME/.gitlab-runner/config.toml
.
# config.toml
[[runners]]
name = "Generic PHP Test Runner"
...
environment = ["COMPOSER_CACHE_DIR=/cache"]
executor = "docker"
[runners.docker]
...
volumes = ["/var/cache:/cache:rw"]
cache_dir = "/cache"
Arbeitet ein Vergnügen, danke! Es war sehr irritierend, diese Pakete immer wieder herunterladen zu sehen. – PJP