kgaut.net // Développeur web PHP / Drupal freelance
contactez-moi

Gitlab CI - Gérer du cache en fonction d'un fichier

Cet article a été écrit il y a plus de quatre ans, son contenu n'est peut-être plus d'actualité.

Dans un job CI on peut cacher un fichier ou des dossiers résultant d'une commande, afin de le récupérer lors d'un prochain job.

Le dossier à cacher pourrait-être par exemple le dossier vendor lors d'un composer install afin que le prochain job ne relance pas cette commande inutilement.

Mais pour être encore plus efficace, il est possible de mettre comme clé de cache le fichier composer.lock lié. Ainsi, si le fichier composer.lock évolue, alors gitlab-ci saura que le dossier caché vendor n'est plus d'actualité.

Voici comment faire ça :

build:app:
    cache:
        key:
            files:
                - composer.lock
        paths:
            - vendor/
    script:
        - composer install --no-dev

Comme vous le devinez peut-être, il est possible de cacher plusieurs dossiers (via la clé paths) et de déterminer la validité du cache en fonction de plusieurs fichiers (via la clé key.files)

Pour plus d'informations sur gitlab et le cache : https://docs.gitlab.com/ee/ci/caching/

Contenus en rapport

snippet · 4 Mai 2019 Gitlab CI - Ne lancer une tâche que lorsque que certains fichiers sont modifiés snippet · 1 Jun 2020 Gitlab CI - Déclencher des jobs que sur des tags spécifiques snippet · 29 Oct 2017 Exemple de fichier gitlab-ci.yml

Commentaires (0)