Konzipieren und Programmieren eines CI-Service in GitLab für unsere Softwareprojekte und Anzeige auf einem Dashboard.


Zusammenfassung

Die zukünftige Roboter-Software wird mit ROS2 geschrieben. In der Vergangenheit hat es sich immer wieder bewährt auf Continuous Integration um eine hohe Software-Qualität zu gewähren und Zusammenarbeit möglichst frustfrei zu gestalten.

Dazu brauchen wir einen sinnvollen und einfach zu benutzenden Continous Integration Service, der unsere Projekte in GitLab mindestens kompiliert und Unittests auswertet. Es sollen Docker Images gebaut werden um in Gitlab Pipelines [1] verwendet zu werden. Unter Umständen kann es sinnvoll sein die bestehende Gitlab-Core Installation auf die Premium-Variante zu aktualisieren, da diese weiter für CI relevante Features bietet.

Dies ist besonders wertvoll, wenn der gesamte Setup mobil sein kann, sodass wir eine kleine Version dieses CIs zu Wettkämpfen mitnehmen können, bei denen es kein (oder sehr langsames) Internet gibt.

Optional wäre es schön, zusätzlich ein kleines Dashboard zu haben, was auf einen Blick anzeigt, wie der Zustand unserer Softwareprojekte ist. Dieses Dashboard darf auch sehr gerne physikalisch sein (Ampel, LED Streifen oder so).

Tätigkeitsfelder und Technologien

  • ROS2
  • Software-Testing
  • GitLab CI Pipelines
  • Dashboard Programmierung
  • Docker Images

Referenzen und Links

  • https://en.wikipedia.org/wiki/Continuous_integration
  • [1] https://docs.gitlab.com/ee/ci/pipelines.html