Nane Kratzke

Thesis:

Automatisierung von Datenbanken in DevOps-Szenarien

Published: 05 Dec 2019
Type: Bachelor (B. Sc.)
State: ongoing
Author: Arne Bruhns
Study: Computer Science
Language: German
Company: AEB SE Entwicklungszentrum, 23558 Lübeck
Image: pixabay.com

Innerhalb von Continuous Integration und Delivery (CI/CD) Prozessen gibt es Integrationstests, die Datenbanken (DB) benötigen. Damit solche Tests automatisiert durchgeführt werden können, sind Schnittstellen zu DB-Management-Systemen (DBMS) erforderlich, um DBen

  • dynamisch erzeugen,
  • mit Testdaten befüllen
  • und löschen zu können.

Damit diese Schnittstelle universell eingesetzt werden kann, ist zu untersuchen, ob diese mittels einem DBMS Controller (Server mit REST-basierter API) und Build-System-spezifischen Plugins (Client) konzipiert werden kann. Bei der Konzeption der REST-basierten API des DBMS Controllers und erforderlicher Plugins sind folgende Aspekte zu berücksichtigen:

  • Unterschiedliche Datenbank-Systeme sind geeignet zu berücksichtigen (der Nachweis kann in der Arbeit anhand von zwei geeigneten Typvertretern erfolgen).
  • Unterschiedliche Build-Systeme sind geeignet zu berücksichtigen (der Nachweis kann in der Arbeit anhand von zwei geeigneten Typvertretern erfolgen).
  • DBen müssen angelegt und gelöscht werden können.
  • DB-Zustände (Schema + Daten) müssen geeignet verglichen werden können.
  • DB-Zustände (Schema + Daten) müssen verwaltet werden können (erzeugen, klonen, zurücksetzen, auflisten, löschen, etc.).

Das Problem soll anhand des Fallbeispiels von Jenkins-getriggerten Integrationstests in Continuous Delivery-Builds des Praxispartners AEB untersucht, analysiert und (prototypisch) gelöst werden.