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.