Automation

Mit Automatisierungstools Entwickler entlasten, Zeit sparen und Qualität des Produktes erhöhen.

Softwareentwicklung kann oftmals durch repetitive Aufgaben wie die Verwaltung von Abhängigkeiten und Konfigurationen, dem Testen von Funktionalität und Sicherheit und dem Verteilen von Änderungen auf die Zielsysteme geprägt sein. Durch Automatisierungstools wird Abhilfe geschaffen, indem diese jeweils einige der Aufgaben, welche sonst auf Entwickler zurückfallen, selbstständig übernehmen. So kann in der Entwicklung Zeit gespart, aber auch die Qualität des Produktes erhöht werden, da die Einhaltung von Codestyles und -standards unabhängig vom Entwickler geprüft wird und eingehalten werden kann. 

Die unten aufgeführten Tools stehen an unterschiedlichen Punkten im Entwicklungsprozess und führen diverse Aufgaben aus. 

Ansible ist ein Open Source Automatisierungstool zur Konfiguration und Administration von Servern, um sich wiederholende Aufgaben zu automatisieren. Unabhängig, ob es sich um ein einzelnes System oder sehr viele handelt: Es ist als Open Source Software unter der GNU General Public License für DevOps auf der ganzen Welt verfügbar. Ansible zeichnet sich durch die folgenden Funktionen aus:

  • Agentlos 
  • Python
  • SSH 
  • Infrastructure as a code
  • Push-Architektur

Jenkins ist der führende Open Source-Automatisierungsserver, der von zahlreichen Entwicklern, Testern, Designern und anderen Personen unterstützt wird, die an kontinuierlicher Integration und Bereitstellung sowie an modernen Softwarebereitstellungspraktiken interessiert sind. Basierend auf Java Virtual Machine (JVM) stellt er mehr als 1.500 Plugins bereit, die Jenkins für die Automatisierung mit praktisch jeder Technologie erweitern lässt, mit der Softwareentwicklungsteams arbeiten. Im Jahr 2019 übertrifft Jenkins 200.000 bekannte Installationen und ist damit der am weitesten verbreitete Automatisierungsserver.

TIMETOACT setzt Jenkins beim Kunden HOCHBAHN als Build und Deployment Server sowie für Performance-Tests auf Basis von Gatling ein.


Maven unterstützt Entwickler dabei, in kurzer Zeit einen Überblick über den Zustand und die Abhängigkeiten eines Java Projekts zu bekommen. Obwohl Entwickler weiterhin die grundlegenden Mechanismen des Projekts verstehen müssen, nimmt ihnen Maven die Verwaltung von vielen Details ab. Maven baut ein Projekt mit Hilfe seines Project Object Models (POM) und einer Reihe von Plugins. Wenn man einmal weiß, wie ein Maven Projekt funktioniert, kann man dieses Wissen auf alle Maven Projekte anwenden. Was in Summe viel Zeit spart.

Maven liefert nützliche Projektinformationen, die teilweise aus Ihrem POM entnommen und teilweise aus den Quellen Ihres Projektes generiert werden. Dies kann beispielsweise sein:

  • Änderungsprotokoll direkt aus der Quellenkontrolle erstellt
  • Quellen mit Querverweisen
  • Vom Projekt verwaltete Mailinglisten
  • Vom Projekt verwendete Abhängigkeiten
  • Unit-Testberichte einschließlich Abdeckung
  • Code-Analyse-Produkte von Drittanbietern stellen ebenfalls Maven-Plugins zur Verfügung, die ihre Berichte zu den von Maven gelieferten Standardinformationen hinzufügen

Maven zielt darauf ab, aktuelle Prinzipien für die Entwicklung von Best Practices zu sammeln und es einfach zu machen, ein Projekt in diese Richtung zu lenken. Zum Beispiel sind Spezifikation, Ausführung und Berichterstellung von Unit-Tests Teil des normalen Build-Zyklus mit Maven. 

Unsere Referenzen zu Automation