Was spricht dafür, docker im entwicklungsalltag einzusetzen statt node?
#1
Ich stehe gerade vor einer Entscheidung bei einem kleinen Projekt und frage mich, ob ich den Build-Prozess komplett auf eine containerisierte Umgebung umstellen soll. Letztes Mal habe ich mich stundenlang mit unterschiedlichen Node-Versionen auf den verschiedenen Entwicklungsrechnern herumgeärgert. Irgendwie fühlt sich das nach Overkill an, aber die Idee, dass alles einfach überall gleich läuft, ist schon verlockend. Hat jemand ähnliche Zweifel gehabt, als ihr angefangen habt, Docker im Entwicklungsalltag einzusetzen?
Zitieren
#2
Ich hab ähnliche Zweifel gehabt. Containerisierung verspricht Reproduzierbarkeit und gleiche Umgebungen, aber der eigentliche Aufwand ist oft die Abstimmung von Toolchains, Caches und Volumes. Wenn man Docker im Dev benutzt braucht man klare Abgrenzungen zwischen Build Runtime und Test Umgebungen, sonst driftet alles auseinander. Für ein kleines Projekt kann das Overhead sein den man erst wieder auffressen muss, aber wenn ihr konstant mehrere Rechner oder CI mit unterschiedlichen Plattformen verwendet hilft es tatsächlich, Gradienten von funktioniert hier zu vermeiden. Wichtig ist sich eine minimale schrittweise Einführung zu erlauben statt alles auf einmal zu migrieren. Docker kann den Build deterministischer machen doch ohne passende Dokumentation wird das schnell frickelig.
Zitieren
#3
Docker im Entwicklungsalltag klingt verlockend aber ich bleibe skeptisch. Das Hin und her Fuddeln mit Dockerfiles Compose Dateien und Mounts fühlt sich oft wie eine zweite Schicht zu dem an was ohnehin schon fehlt. Wenn ihr nur eine Node Version habt ist das NVM Setup vielleicht leichter zu warten als ein Container Ökosystem das sich über alle Loks erstreckt. Ist das wirklich der richtige Weg für ein kleines Projekt oder nur der neue Trend mit größerem Overhead?
Zitieren
#4
Bevor du dich festlegst frage ich mich ob das Hauptziel wirklich Build Reproduzierbarkeit ist oder ob es eher darum geht wie das Team denkt und arbeitet. Docker könnte den lokalen Workflow vereinfachen aber vielleicht geht es auch darum klare Erwartungen an Dokumentation Versionspfad und Release Prozesse zu setzen. Vielleicht reicht es die Node Versionen per Lockfile und CI Strategie zu stabilisieren ohne den gesamten Entwicklungsprozess in Container zu zwängen. Was meint ihr damit?
Zitieren
#5
Ich hatte vor Monaten dieselben Zweifel Build Prozesse sollten einfach laufen nicht wie eine Wissenschaft. Dann kam Docker ins Spiel und auf einmal hatten alle dieselbe Basis doch die ersten Meetings fragten wer aktualisiert das Docker Image wer sorgt für Caches es fühlte sich überwältigend an. Der nächste Commit war nicht mehr an der gleichen Node Version verzweifelt. Trotzdem frage ich mich lohnt sich das für ein kleines Projekt wirklich?
Zitieren


[-]
Schnellantwort
Nachricht
Geben Sie hier Ihre Antwort zum Beitrag ein.

Bestätigung
Bitte den Code im Bild in das Feld eingeben. Dies ist nötig, um automatisierte Spambots zu stoppen.
Bestätigung
(Keine Beachtung von Groß- und Kleinschreibung)

Gehe zu: