Zum Inhalt springen
Blog
2026-06-12

TIA Portal CI/CD mit GitLab

CI/CD für TIA Portal bedeutet, SPS-Code in Git zu versionieren und in einer Pipeline automatisiert zu testen. Mit dem Kommandozeilen-Runner tia-test-runner läuft das in GitLab CI genauso wie jeder andere Build-Schritt.

Der Grundgedanke

Statt manueller Abnahme bei jeder Änderung prüft die Pipeline jede Änderung automatisch gegen Regressionen. Die Bausteine in der Pipeline sind dieselben SCL-Unit-Tests, die du lokal schreibst — als klartextlesbare JSON-Dateien neben dem Projekt, in Git versioniert.

Pipeline-Schritt

Der Runner läuft headless und gibt JUnit-XML zurück, das GitLab als Testergebnis anzeigt:

plc-tests:
  stage: test
  script:
    - tia-test-runner run --suite .tia-tests --report junit.xml
  artifacts:
    reports:
      junit: junit.xml

GitLab zeigt die Ergebnisse dann direkt im Merge-Request — pass/fail je Test-Case, ohne dass jemand TIA Portal öffnen muss.

Nur Geändertes testen

Bei großen Projekten ist --rerun-affected der Schlüssel: der Runner führt nur Suiten aus, deren zugrundeliegender Baustein sich seit dem letzten Lauf geändert hat. Das hält die Pipeline schnell, auch wenn das Projekt wächst.

PLCSIM in der Pipeline

Die Tests laufen gegen PLCSIM Advanced — keine physische Hardware im Build nötig, und die Läufe sind reproduzierbar. HTML-Reports und CSV-Trends lassen sich als Artefakte ablegen.

Der durchgehende Fluss

CI/CD ist das letzte Glied der Kette: KI generiert → Openness importiert → Unit-Tests verifizieren → Git und CI/CD tracken jede Änderung. Details auf der TIA Portal CI/CD-Seite.