techniek
Docker-laagcaching is niet wat u denkt dat het is
De meeste CI Docker-cachinginstellingen besteden meer tijd aan het overbrengen van de cache dan ze besparen door deze te gebruiken.
{auteur} · {rol} · {datum} · {minuten} min leestijd
Het standaardadvies is om uw laagcache te exporteren met cache-to en te importeren met cache-from. Het werkt. Bij grote afbeeldingen is het ook vaak een nettoverlies, en de timinggegevens maken dat duidelijk als je eenmaal kijkt.
De overdracht is het probleem
Elke taak exporteert de cache aan het einde en importeert deze aan het begin. Voor een cache van meerdere gigabytes kan die heen- en terugreis de bouwtijd overschrijden die het had moeten besparen. De bouwstap wordt sneller en de klus wordt langzamer.
De oplossing is om het niet meer te verplaatsen
Een persistente BuildKit-instantie bewaart de cache op zijn eigen schijf, waar BuildKit deze al wil hebben. Jouw werk hecht, bouwt op, maakt los. Er is geen exportstap omdat er niets te exporteren valt.
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.