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

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

Commentaires

Dans GitLab CI, la gestion du cache en fonction d'un fichier spécifique est une pratique utile pour optimiser l'efficacité du flux de travail. Par exemple, la mise en cache du répertoire du fournisseur résultant d'une commande d'installation composer peut empêcher les réexécutions inutiles de commandes dans les tâches suivantes. En allant plus loin, l'utilisation du fichier composer.lock comme clé de cache garantit que si le fichier composer.lock change, GitLab CI reconnaît que le répertoire du fournisseur mis en cache n'est plus valide, améliorant ainsi la précision de la gestion du cache.

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...