This repository has been archived by the owner on Nov 12, 2020. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Dans cette étape, on met en cache les données qui sont enregistrées dans
vendor/bundle
. Ce dossier contient les dépendances installées par la commandebin/install
.Pour la mise en cache, on indique à CircleCI le chemin à mettre en cache ainsi qu'une clé de cache.
Explication
Clé de cache
Une clé de cache permet de savoir lorsque des données mise en cache ne sont plus valides.
Une bonne clé de cache doit donc être un compromis entre :
Dans notre cas, la clé de cache, que l'on génère, utilise le "checksum" (un hash SHA256 encodé en base64) du fichier
Gemfile.lock
. Un exemple de clé possible :Le
Gemfile.lock
contient les versions exactes des dépendances installées et permet donc une fiabilité sur les dépendances installées dans le dossiervendor/bundle
.Par défaut, une clé de cache, si elle ne change pas, expire au bout d'un mois sur CircleCI.
Étapes sur CircleCI
Lorsque CircleCI lance notre job :
bundler-{{ checksum "Gemfile.lock" }}
:vendor/bundle
,vendor/bundle
sous la clébundler-{{ checksum "Gemfile.lock" }}
:Ressources
save_cache
restore_cache