2015-11-02 10 views
18

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

Antwort

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" 
+0

Arbeitet ein Vergnügen, danke! Es war sehr irritierend, diese Pakete immer wieder herunterladen zu sehen. – PJP