Kurzbeschreibung:

Um die Anforderung moderner Softwareentwicklung in Hinblick auf schnelle Releasewechsel, Qualitätssicherung und kostengünstige Entwicklung zu erfüllen, werden Konzepte von Continuous Delivery und speziell von Continuous Integration erarbeitet. Es werden vorhandene Tools und Frameworks im Bereich MSSQL Server BI analysiert und ein eigenes Framework aufgebaut. Die Integration wird mit dem Jenkins Integrationsserver gesteuert und unter Verwendung von .Net-Framework-Assemblies mit Powershell umgesetzt.

Ergänzung:

Continuous Integration stellt eine besondere Herausforderung im Bereich MSSQL Server BI dar. Für eine integrierte Entwicklung der MSSQL BI Komponenten (SQL, SSIS, SSAS und SSRS) wird am Markt keine einheitliche Lösung angeboten. Für die einzelnen Teilaufgaben von Continuous Integration stehen lediglich autonome proprietäre und Open Source Tools zu Verfügung. Im Rahmen des Projektes werden ausschließlich Open Source Tools eingesetzt. Das eigenentwickelte Framework wird durch drei wesentliche Komponenten umgesetzt. Der Integrationsserver Jenkins (I) steuert die Ausführung von Powershell-Scripts (II), sobald eine Änderung an dem Quellcode durch das Source Code Management System Subversion (III) gemeldet wird. Die Verwaltung der BI Komponenten erfolgt mit den .Net-Framework-Assemblies und MSBuild. Das Resultat des Integrationsprozesses wird in Jenkins in Form von MSTest-Ergebnissen dargestellt und ggf. an die Entwickler gemeldet.

Fachbeschreibung:

Ein automatisierter und integrierter Entwicklungsprozess stellt eine immer funktionsfähige Software sicher und ermöglicht eine schnellere Verwendung von neuen Features. Dies führt zum schnellen Erreichen des ROI. Durch automatisierte Tests und ein unmittelbares Feedback an die Entwickler werden Fehler frühzeitig erkannt und die Qualität wird gesichert. Speziell im Bereich MSSQL Server BI, der durch eine datengetriebene Entwicklung geprägt ist, ist Continuous Integration von hoher Bedeutung, da die Daten oft als eine Grundlage für strategische und operative Entscheidungen dienen. Die Automatisierung schafft weiterhin Transparenz im Bereitstellungsprozess und übt integrative Wirkung auf die beteiligten Bereiche aus.