Veröffentlicht am: 2. Oktober 2025

4 Minuten Lesezeit

Von manuellen Testzyklen zu automatisierten Embedded-Workflows: GitLabs Ansatz für virtuelle Testumgebungen

Managed Lifecycle Environments automatisieren virtuelle Testumgebungen für Embedded-Systeme und lösen dabei die typischen Probleme von Umgebungs-Wildwuchs und explodierenden Kosten.

Embedded-Entwickler(innen) kennen diesen Zyklus: Code schreiben, Tage oder Wochen auf einen Hardware-Testplatz warten, Fehler entdecken, korrigieren und erneut warten. Virtuelle Testumgebungen versprechen schnelleres Feedback, schaffen in der Praxis aber oft neue Probleme wie unkontrollierten Umgebungs-Wildwuchs und explodierende Kosten.

GitLabs Managed Lifecycle Environments lösen diese Herausforderungen systematisch. Durch automatisierte virtuelle Umgebungen beschleunigt GitLab Embedded-Entwicklungszyklen ohne die typische Konfigurationskomplexität und Kostenexplosion. Für Teams, die mit komplexen Test-Setups arbeiten – etwa MATLAB/Simulink MIL-Tests oder Testing auf spezialisierten Prozessoren wie Infineon AURIX – bietet dieser Ansatz messbare Vorteile.

Die Herausforderungen virtueller Testumgebungen

Virtuelle Testumgebungen – simulierte Hardware-Setups, die das Verhalten von Embedded-Systemen und reale Bedingungen nachbilden – können Hardware-Engpässe reduzieren. Teams testen Firmware auf simulierten Prozessoren, führen Model-in-the-Loop (MIL) Tests in MATLAB/Simulink durch oder verifizieren Software auf virtuellen Embedded-Systemen ohne physischen Hardware-Zugriff.

Die meisten Teams implementieren virtuelle Umgebungen jedoch mit einem von zwei gängigen Ansätzen, die beide zu nicht nachhaltigen Problemen führen.

Problematischer Ansatz 1: Pipeline Lifecycle Environments

Pipeline Lifecycle Environments erstellen die gesamte Testumgebung für jeden CI/CD-Durchlauf neu. Bei Code-Änderungen provisioniert das System Infrastruktur, installiert Software-Simulationen und konfiguriert alles von Grund auf, bevor Tests laufen.

Dieser Ansatz funktioniert für einfache Szenarien, wird aber mit steigender Komplexität ineffizient. Betrachte beispielsweise Software-in-the-Loop (SIL) Tests in einer komplexen virtuellen Umgebung. Jeder Pipeline-Durchlauf erfordert die vollständige Neuerstellung der Umgebung, einschließlich virtueller Prozessor-Provisionierung, Toolchain-Installationen und Zielkonfigurationen. Diese Prozesse verschlingen erhebliche Zeit.

Mit zunehmend anspruchsvolleren virtuellen Hardware-Konfigurationen für Embedded-Systeme summieren sich die Provisionierungskosten schnell.

Um diese Rebuild-Kosten und Verzögerungen zu vermeiden, setzen viele Teams auf langlebige Umgebungen, die zwischen Testläufen bestehen bleiben. Diese bringen jedoch eigene Nachteile mit sich.

Problematischer Ansatz 2: Long-lived Environments

Long-lived Environments bleiben dauerhaft bestehen, um ständige Neuaufbauten zu vermeiden. Entwickler(innen) fordern diese Umgebungen bei IT- oder DevOps-Teams an, warten auf Genehmigung und benötigen dann manuelle Provisionierung der Infrastruktur. Diese Umgebungen sind an einzelne Entwickler(innen)/Teams gebunden statt an spezifische Code-Änderungen und unterstützen laufende Entwicklungsarbeit über mehrere Projekte hinweg.

Dies eliminiert zwar den Rebuild-Overhead, erzeugt aber Umgebungs-Wildwuchs. Umgebungen akkumulieren ohne klares Enddatum. Infrastrukturkosten steigen, da Umgebungen unbegrenzt Ressourcen verbrauchen.

Long-lived Environments leiden zudem unter "Config Rot" – Umgebungen behalten Einstellungen, gecachte Daten oder Software-Versionen früherer Tests, die nachfolgende Ergebnisse beeinflussen können. Ein Test, der fehlschlagen sollte, wird durch Rückstände vorheriger Tests erfolgreich.

Letztlich ist die Verwaltung langlebiger Umgebungen ein manueller Prozess, der die Entwicklungsgeschwindigkeit bremst und den operativen Overhead erhöht.

GitLab bietet einen dritten Ansatz durch "Managed Lifecycle Environments". Dieser Ansatz vereint die Vorteile von langlebigen und Pipeline-Lifecycle-Umgebungen bei gleichzeitiger Vermeidung der Nachteile.

Die Lösung: Managed Lifecycle Environments

GitLabs Managed Lifecycle Environments binden virtuelle Test-Setups an Merge Requests (MRs) statt an Pipeline-Läufe oder einzelne Entwickler(innen). Man kann sie auch als "verwaltete MR-Testumgebungen" bezeichnen. Beim Erstellen eines MR für ein neues Feature orchestriert GitLab automatisch die Provisionierung notwendiger virtueller Testumgebungen. Diese Umgebungen bleiben während des gesamten Feature-Entwicklungsprozesses bestehen.

Die wichtigsten Vorteile

  • Persistente Umgebungen ohne Neuaufbau: Die gleiche virtuelle Umgebung verarbeitet mehrere Pipeline-Läufe während der Feature-Iteration. Ob MIL-Tests in MATLAB/Simulink oder SIL-Tests auf spezialisierten Embedded-Prozessoren – die Umgebung bleibt konfiguriert und bereit.

  • Automatische Bereinigung: Beim Merge des Features und Löschen des Branches löst GitLab automatisch die Umgebungsbereinigung aus und eliminiert Umgebungs-Wildwuchs.

  • Single Source of Truth: Der MR dokumentiert alle Build-Ergebnisse, Testergebnisse und Umgebungs-Metadaten an einem Ort. Teammitglieder können Fortschritte verfolgen und zusammenarbeiten, ohne zwischen verschiedenen Tools oder Tabellen zu wechseln.

Dieses Übersichtsvideo zeigt, wie Managed Lifecycle Environments in der Praxis funktionieren:

GitLab automatisiert den gesamten Test-Workflow. Bei jedem Firmware-Test orchestriert GitLab Tests in der entsprechenden virtuellen Umgebung, dokumentiert Ergebnisse und bietet volle Transparenz über jeden Pipeline-Lauf. Dieser Ansatz verwandelt komplexes virtuelles Testen von einem manuellen, fehleranfälligen Prozess in automatisierte, zuverlässige Workflows.

Das Ergebnis: Teams erhalten wiederverwendbare Umgebungen ohne ausufernde Kosten. Sie steigern die Effizienz bei gleichzeitiger Aufrechterhaltung sauberer, isolierter Test-Setups für jedes Feature.

Hier ist eine Demo von Managed Lifecycle Environments für Firmware-Tests auf virtueller Hardware:

Geschäftsnutzen

GitLabs Managed Lifecycle Environments liefern messbare Verbesserungen über Embedded-Entwicklungsworkflows hinweg. Teams, die MIL-Tests in MATLAB/Simulink und SIL-Tests auf spezialisierten Prozessoren wie Infineon AURIX oder BlackBerry QNX-Systemen durchführen, müssen nicht mehr zwischen ständigen Umgebungs-Neuaufbauten oder unkontrolliertem Umgebungs-Wildwuchs wählen. Stattdessen bleiben diese komplexen virtuellen Test-Setups während der Feature-Entwicklung bestehen und bereinigen sich automatisch bei Abschluss. Dies ermöglicht:

  • Schnellere Produktentwicklungszyklen
  • Kürzere Time-to-Market
  • Niedrigere Infrastrukturkosten
  • Höhere Qualitätssicherung

Virtuelle Testprozesse systematisch verbessern

Lade das Whitepaper "Unlocking agility and avoiding runaway costs in embedded development" herunter für eine tiefergehende Betrachtung von Managed Lifecycle Environments und erfahre, wie du Embedded-Entwicklungsworkflows nachhaltig beschleunigen kannst.

Weitere technische Details und Implementierungsbeispiele findest du im englischen original Blogpost.

Wir möchten gern von dir hören

Hat dir dieser Blogbeitrag gefallen oder hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und tausche deine Eindrücke aus.
Share your feedback

Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab

Stelle jetzt bessere Software schneller bereit

Erlebe, was dein Team mit der intelligenten

DevSecOps-Plattform erreichen kann.