Die Toolchain, auf Deutsch Werkzeugkette, ist die Reihe von Programmen, die Quelltext in ein auslieferbares Ergebnis verwandelt. Englisch tool heißt Werkzeug, chain Kette. Jedes Glied nimmt entgegen, was das vorige ausgegeben hat. Im Webumfeld stehen darin typischerweise ein Paketmanager, ein Übersetzer, ein Bundler, eine Prüfung auf Stilfehler und ein Testlauf.
- Toolchain
Die Reihe von Programmen, die Quelltext in ein auslieferbares Ergebnis verwandelt.
Beispiel: „Die Toolchain läuft mit einem Befehl durch, vom Paketmanager bis zum Testlauf.“Auch: Werkzeugkette. Im Sprachgebrauch der Entwicklung ist die englische Form die übliche.
Abgrenzung zur Build-Pipeline: Die Toolchain ist der Satz von Werkzeugen und ihre Reihenfolge. Die Build-Pipeline ist der eingerichtete Ablauf, der sie auf einem Server anstößt, prüft und das Ergebnis ausliefert.
Abgrenzung zum einzelnen Werkzeug: Ein Linter prüft Stilregeln, ein Paketmanager holt Abhängigkeiten. Die Toolchain ist die Abfolge und die Übereinkunft, in welcher Reihenfolge und mit welchen Einstellungen sie laufen.
Die Grenze ist dabei nicht scharf: Ein Bundler wie Vite bringt selbst mehrere Werkzeuge mit, einen Entwicklungsserver, einen Übersetzer und einen Packer, und ist damit eher eine kleine Toolchain als ein einzelnes Werkzeug.
Woraus eine Toolchain im Webprojekt besteht
Am Anfang steht der Paketmanager, der den fremden Code holt. Dann folgen die Schritte, die aus Quelltext etwas machen, das ein Browser versteht: Übersetzung, Zusammenfassung zu wenigen Dateien, Verkleinerung. Am Ende stehen die Prüfungen, also Stilregeln und Tests.
Dazu kommt alles, was den Lauf anstößt: der Befehl auf dem eigenen Rechner, die Prüfung im Pull Request, der Schritt beim Ausliefern. Dieselbe Kette läuft an drei Orten, und sie sollte überall dasselbe ergeben.
Warum eine Toolchain mit der Zeit wächst
Weil jedes Problem einen eigenen Schritt bekommt und kein Schritt je wieder herausgenommen wird. Eine Kette, die vor fünf Jahren aus drei Gliedern bestand, hat heute zehn, von denen zwei dasselbe tun und eines nur noch läuft, weil niemand weiß, ob es gebraucht wird.
Der Preis steht in der Wartezeit vor jedem Build und in der Zahl der Stellen, an denen ein Lauf hängen bleiben kann. In der Rechnung taucht er nicht auf.
Was eine Toolchain brauchbar hält
Zwei Dinge: Sie läuft mit einem einzigen Befehl durch, und sie ergibt auf jedem Rechner dasselbe. Wo das nicht gilt, kostet jeder neue Mitarbeiter einen halben Tag und jeder Fehler eine Diskussion darüber, bei wem es funktioniert.
Eine Kette gehört deshalb genauso dokumentiert wie der Code: welche Glieder es gibt, was jedes tut und welches ohne Schaden entfallen kann.