Aus der Sicht eines Dockers denke ich, dass Sie dies am besten tun können (ohne die Möglichkeit, eine lokale Registrierung auszuführen) ) ist save
das Docker-Image und speichert den exportierten Tar-Ball zwischen. Sie müssten load
am Anfang anstatt pull
ein Bild einfügen. Auf diese Weise werden Sie nicht mit Docker-Speicherimplementierungen herumhantieren.
Sie müssten dann das zwischengespeicherte Bild load
vor Ihrem Travis-Lauf einfügen.
Das Bit, das ich für Travis nicht verstehe, ist, wenn Sie es stoppen müssen, den install
-Schritt nach dem ersten Mal auszuführen. Sie möchten nicht, dass Travis das Bild jedes Mal zieht und exportiert, wenn es einmal zwischengespeichert wurde. Ich bin mir nicht sicher, ob die Anweisung cache
dies automatisch für Sie erledigt?
Die Hauptfrage ist dann, ob das tatsächlich schneller geht, als das Bild zu ziehen oder nicht:
Beim Caching werden alle in der Konfiguration aufgelisteten Verzeichnisse getargt und lädt sie unter Verwendung einer sicheren und geschützten URL in S3 hoch Sicherheit und Datenschutz der hochgeladenen Archive.
Beachten Sie, dass dies dazu führt, dass unser Cache nicht netzwerklokal ist, an den er gebunden ist Netzwerkbandbreite und DNS-Auflösungen für S3. Das hat Auswirkungen auf dich kann und sollte im Cache speichern. Wenn Sie Archive speichern, die größer als a sind einige hundert Megabyte im Cache, ist es unwahrscheinlich, dass Sie eine sehen große Geschwindigkeitsverbesserung.
Sie könnten nur Overhead hinzufügen. Da die Docker-Registrierung von Cloudfront unterstützt wird, zieht Travis bereits komprimierte Bilder aus der lokalen oder zumindest nahen Amazon-Infrastruktur. Vielleicht bitten Sie sie für die Funktion Cache Docker Bilder nativ , ähnlich was sie für apt
Pakete tun, obwohl es nicht hoffnungsvoll klingt .
Tags und Links performance caching continuous-integration docker travis-ci