Pipeline
Der Begriff der Pipeline ist in den letzten Jahren in Zusammenhang mit der Softwareentwicklung stark durch das Thema DevOps geprägt worden. Allgemein steht eine Pipeline in der Softwareentwicklung für die Summe alle Aktivitäten, die von einer Idee bis hin zum Betrieb dieser Idee führen. In Bezug auf DevOps entspricht die Pipeline oft einer Continuous-Delivery-Pipeline, welche um weitere Automatismen zum Monitoring und zur Kommunikation zwischen Betrieb und Entwicklung der Software erweitert wurde.
Tools einer Pipeline
Umgesetzt werden diese Schritte mit Hilfe von Tools.
- Ideen für Änderungen können in einem Issue Tracker oder Wiki gesammelt und ausgearbeitet werden.
- Code wird mit einer IDE geschrieben und in einem Versionsverwaltungstool gespeichert.
- Builds werden mit einem Build Server durchgeführt. Außerdem führt er automatisierte Tests selber aus oder stößt ein Code-Analyse-Tool an. Zum Abschluss deployt der Build Server die Software auf einen Server oder legt den Build in einem Artefakt Repository ab.
Eine Software-Pipeline mit dem Cloudogu EcoSystem
In der Softwareentwicklung spielt eine Pipeline eine zentrale Rolle, um Effizienz und Qualität zu steigern. Das Cloudogu EcoSystem bietet hierfür eine ideale Lösung, indem es eine Sammlung essentieller Tools für den gesamten Entwicklungsprozess bereitstellt. Mit geringem Konfigurationsaufwand ermöglicht es Entwicklungs-Teams, eine solide Pipeline aufzubauen. Vom SCM-Manager, der als zentraler Speicherort für den Code dient, über Jenkins, der automatisierte Builds und Tests durchführt, bis hin zu SonarQube für die Code-Qualitätsprüfung und Nexus Repository als Archiv für fertige Anwendungen – das Cloudogu EcoSystem integriert nahtlos alle notwendigen Werkzeuge für eine effektive Software-Pipeline. Es ist eine Plattform für Tools die üblicherweise für eine Pipeline benötigt werden. Der Vorteil der Plattform ist, dass sie mit wenig Aufwand betrieben und erweitert werden kann. Wenn Sie mehr über eine Software-Pipeline mit dem Cloudogu EcoSystem erfahren möchten, schauen Sie sich diesen Blogpost an.
Diese Pipeline kann beliebig um Issue Tracker wie Redmine, Easy Redmine oder JIRA, Wikis wie Smeagol oder Confluence oder Containermanagement mit Portainer erweitert werden.
Aufbau einer DevOps Pipeline
Zum Aufbau einer Pipeline müssen die bestehenden Prozesse betrachtet und dokumentiert werden (Wer macht was und womit?). Nachdem alle Schritte erfasst sind, kann die eigene Pipeline optimiert werden. Dafür müssen, ganz im Sinne von DevOps, diese Fragen gestellt werden:
- Was machen wir genau in dem Schritt?
- Wie gut funktioniert es?
- Was können wir besser machen?
Auf Grundlage der Antworten kann anschließend mit der Umsetzung von Verbesserungsmaßnahmen begonnen werden, z.B. durch das Automatisieren von Schritten oder Auswählen von besser geeigneten Tools.