Final Thesis: A DSL for Configuring Continuous Deployment Pipelines for Android Apps

Abstract: Die Anwendungsentwicklung für mobile Plattformen wie Android oder iOS spielt heutzutage eine immer wichtigere Rolle, da der Konsum von digitalen Inhalten zum großen Teil auf diesen stattfindet. Damit Entwickler agil auf Kundenanforderungen und Feedback reagieren können, setzen sie während der Entwicklung häufig auf Continuous Delivery (CD) Infrastrukturen. Das Bereitstellen einer angemessenen CD-Infrastruktur verursacht jedoch einen erheblichen Aufwand und setzt ein entsprechendes Know-how bei der Realisierung dieser Infrastruktur voraus. Die automatisierte Umsetzung einer CD-Lösung könnte Entwicklern einen hohen Zeit- und Arbeitsaufwand ersparen, sodass ihr Fokus bei der eigentlichen Applikationsentwicklung verbleiben kann. Um eine Generalisierung zu ermöglichen, werden eine Vielzahl von Deployment Pipelines für die Android Plattform analysiert und daraus ein einheitliches semantisches Modell gebildet. Darauf aufbauend wird die sogenannte Android Continuous Delivery DSL Engine entwickelt, die unter Verwendung einer domänenspezifischen Sprache (DSL), eine entsprechende CD-Infrastruktur generiert. Die hierdurch erzeugte Deployment Pipeline soll generisch auf eine Vielzahl von Android-Applikationen anwendbar sein. Zur Evaluierung werden verschiedene CD-Infrastrukturen unter Verwendung der DSL Engine erzeugt. Dabei wird deren gewünschte Verhaltensweise anhand von unterschiedlichen Open Source Android-Applikationen geprüft und bewertet. Zum Abschluss wird gezeigt, dass die entwickelte DSL Engine eine sinnvolle Unterstützung für Entwickler von mobilen Plattformen darstellt.

Keywords: DevOps, Continuous Deployment, Continuous Delivery, Continuous Integration, Android

PDFs: Master Thesis, Work Description

Reference: Maximilian Fischer. A DSL for Configuring Continuous Deployment Pipelines for Android Apps. Master Thesis, Friedrich-Alexander-Universität Erlangen-Nürnberg: 2018.