Benutzerdefinierte Workflow-Blöcke
Workflow blocks are reusable, composable units of automation – the building blocks from which pipelines are assembled without rewriting the same logic for every workflow.
In einer Hardware-CI/CD-Pipeline tauchen dieselben Vorgänge immer wieder auf: die freigegebene Lieferantenliste aufrufen, prüfen, ob erforderliche Parameter ausgefüllt sind, ein nachgelagertes System benachrichtigen, eine bestimmte Klasse von Designdaten validieren. Ohne Workflow-Blöcke implementiert jeder Workflow diese Logik unabhängig voneinander neu. Mit Blöcken wird die Logik einmal definiert, einmal getestet und überall dort zusammengesetzt, wo sie benötigt wird.
Ein Workflow-Block kapselt einen bestimmten Vorgang – seine Eingaben, seine Ausgaben und sein Verhalten – und stellt ihn als Schritt bereit, der in jedem Workflow verwendet werden kann. Der Block ist für die Implementierung zuständig. Der Workflow ist für die Abfolge zuständig.
Was Workflow-Blöcke ermöglichen
-
Reuse of validated logic – ein Block, der eine Compliance-Prüfung, einen Aufruf eines externen Systems oder eine Datentransformation implementiert, wird isoliert getestet und anschließend in mehreren Workflows wiederverwendet. Wenn sich die zugrunde liegende Anforderung ändert – etwa ein neuer Eintrag in der Liste eingeschränkter Teile oder ein neuer von der Beschaffung geforderter Parameter – wird der Block einmal aktualisiert, und die Änderung wirkt sich auf jeden Workflow aus, der ihn verwendet.
-
Separation of concerns – der Ingenieur, der das Beschaffungssystem versteht, implementiert den AVL-Nachschlageblock. Der Ingenieur, der den Freigabeprozess definiert, fügt ihn zu einer Pipeline zusammen. Keiner von beiden muss die Domäne des anderen im Detail verstehen. Die Blockschnittstelle ist der Vertrag zwischen ihnen.
-
Incremental pipeline construction – Teams können mit einfachen, manuellen Workflows beginnen und im Laufe der Zeit mehr Komplexität hinzufügen, indem sie Blöcke für Vorgänge einführen, die derzeit noch manuelle Schritte sind. Jeder Block, der einem Workflow hinzugefügt wird, ist eine Sache weniger, die davon abhängt, dass jemand daran denkt, sie auszuführen.
-
Standardization across teams – in Organisationen, in denen mehrere Teams ihre eigenen Design-Abläufe pflegen, erzwingen gemeinsam genutzte Workflow-Blöcke ein konsistentes Verhalten auf der Ebene einzelner Schritte, selbst wenn sich die Gesamtstruktur der Pipeline zwischen den Teams unterscheidet. Der Compliance-Prüfblock läuft beispielsweise identisch, unabhängig davon, ob er in einen PCB-Freigabe-Workflow oder einen Bibliotheksfreigabe-Workflow eingebettet ist.
Blöcke vs. Skripte
Skripte sind in sich geschlossene Vorgänge, die direkt aufgerufen werden. Workflow-Blöcke sind zusammensetzbare Einheiten, die dafür ausgelegt sind, zu größeren Pipelines zusammengefügt zu werden. Ein Block ruft häufig ein Skript auf – das Skript implementiert die Logik, der Block stellt den Schnittstellenvertrag bereit, der ihn im Kontext eines Workflows nutzbar macht.
Verwenden Sie ein Skript, wenn Sie einen eigenständigen Vorgang benötigen. Verpacken Sie dieses Skript in einen Block, wenn der Vorgang als Schritt in mehreren Workflows wiederverwendet werden soll, wenn er eine stabile Schnittstelle benötigt, die Implementierung und Nutzung voneinander entkoppelt, oder wenn er an der Sequenzierungs- und Gate-Logik einer Pipeline teilnehmen muss.