Der letzte Schritt für unsere Quality Assurance bestand darin, unser Gitlab Repo mit Continuous Integration auszustatten.
Continuous Integration bezieht sich auf ein Script - oder eine Pipeline von Scripts - welche jedesmal auf ein Repository angewendet wird, wenn sich dieses ändert. Der gewünschte Effekt daraus ist ein visuelles Feedback für jeden Commit, das zeigt, welche der Scripts erfolgreich ausgeführt wurden.
In unserem Fall werden bei jedem Commit vier Scripts in drei Stages ausgeführt:
Nur wenn alle Stages und Scripts ohne Fehler ausgeführt werden können ist die CI Pipeline erfolgreich, bzw. "grün".
Eine grüne Pipeline ist zwingend erforderlich um eine Pull-Request zum Master abschliessen zu können.
Die CI übernimmt einen Teil der Code-Validierung für neue Änderungen und erleichtert den gesamten Merge Prozess, da das Augenmerk ausschliesslich auf Funktionale Änderungen gelegt werden kann. Die Effektivität des CI hängt eng mit der Test Code Coverage zusammen, da nur die Klassen und Methoden automatisch getestet werden könne, für welche Unit Tests bestehen. In unserem Fall hatten wir relativ hohe Garantie, dass bei bestandener Pipeline die Netzwerk Kommunikation zwischen Client und Server nicht kompromittiert wurde. In mehreren Fällen konnten so unvollständige Pull-Request automatisch zur Überarbeitung an den jeweiligen Entwickler zurückgegeben werden.