Jenkins ist ein erweiterbares, webbasiertes Software-System zur kontinuierlichen Integration von Software-Komponenten zu einem Anwendungsprogramm. Es wird als Fork der Software Hudson von Sun, heute Oracle, betrachtet.

Geschichte Jenkins wurde in erster Linie von Kohsuke Kawaguchi, einem Mitarbeiter von Sun Microsystems, unter dem Namen Hudson entwickelt. Kawaguchi verließ das Unternehmen, nachdem es von Oracle Ende Januar 2010 übernommen worden war. Kawaguchi behielt die Leitung bei Hudson und arbeitete nach eigenen Angaben auf freiberuflicher Basis weiter bei Oracle. Da Oracle die Namensrechte an Hudson hielt und den Namen als Marke eintragen ließ, wurde das Projekt schließlich in Jenkins umbenannt. Der Name Jenkins wurde gewählt, da die Entwickler der Meinung waren, dass Jenkins im Englischen genauso wie Hudson mit dem Beruf des Butlers assoziiert wird. Da Oracle Hudson ebenfalls weiterentwickelte, kann von einem Fork („Abspaltung“) der Softwareentwicklung gesprochen werden.

Hudson gewann 2008 einen Duke’s Choice Award in der Kategorie „Developer Solutions“. Im Januar 2014 wurde Kawaguchi der Chief Technology Officer von CloudBees. CloudBees verließ im August 2010 den sogenannten „Stealth-Mode“ als Startup und Kohsuke Kawaguchi gibt an, dort seit November 2010 dauerhaft beschäftigt zu sein. Damit hatten sowohl Hudson als auch Jenkins ein unterstützendes Unternehmen, das Support und Fortentwicklung anbot, und beide wurden als Open-Source-Projekte in der Verwaltung gemeinnütziger Organisationen geführt: Hudson bei der Eclipse Foundation und Jenkins bei der Software in the Public Interest.

2016 wurde die Weiterentwicklung von Hudson zugunsten von Jenkins eingestellt.

Programmeigenschaften Das Programm ist in der Programmiersprache Java geschrieben und läuft in beliebigen EJB-Containern. Es wird zusammen mit der minimalen Servlet-Middleware Winstone ausgeliefert, sodass es sofort auf Application-Servern nach der Jakarta-EE-Spezifikation lauffähig ist und es keines zusätzlichen Servlet-Containers, z. B. Tomcat, bedarf.

Unterstützt werden: Build-Tools wie Apache Ant, Maven oder Gradle Versionsverwaltungssysteme wie Subversion oder Git Verfahren zum automatischen Testen (test tools) wie JUnit. Durch verschiedene Zusatzmodule („Plug-ins“) können auch andere Compiler gesteuert werden, sodass neben Java- auch PHP-, Ruby- oder .Net-Framework-basierte Projekte verwaltet werden können.

Jenkins verfügt über eine REST-basierte Programmierschnittstelle zur Steuerung durch andere Programme. So ist z. B. die Steuerung von „Xtreme-Feedback-Geräten“ möglich, die die Koordination in XP-Arbeitsgruppen vereinfacht.

Jenkins ist eines der am häufigsten eingesetzten Werkzeuge zur kontinuierlichen Integration.

Lizenz Die Software steht unter der MIT-Lizenz. Die verwendeten Icon-Grafiken stammen aus dem Tango Desktop Project und stehen unter der Lizenz Creative Commons Attribution Share-Alike.

Auszeichnungen

DevOps Dozen 2017 DevOps Dozen 2016 Bossie Awards 2014 Geek Choice Award 2014

Literatur Marco Schulz, Continuous Integration mit Jenkins, Rheinwerk, 400 Seiten, 2021, ISBN 978-3-8362-7834-8 Martin Schumacher, Thorsten Kamann: 5 Continuous–Integration–Systeme im Vergleich. In: Java Magazin. Nr. 10, 2008, , S. 51–57. Simon Wiest: Continuous Integration mit Hudson. 2011, dpunkt Verlag, ISBN 978-3-89864-690-1 John Ferguson Smart: Jenkins: The definitive guide, 2011. https://archive.org/details/jenkins

Weblinks Offizielle Website (englisch) Jenkins Tutorial – „Von Continuous Integration zu Continuous Delivery mit Jenkins Workflow“ – Teil 1 Jenkins Tutorial – „Von Continuous Integration zu Continuous Delivery mit Jenkins Workflow“ – Teil 2 Jenkins Tutorial – „Von Continuous Integration zu Continuous Delivery mit Jenkins Workflow“ – Teil 3

Einzelnachweise

Kategorie:Freies Programmierwerkzeug Kategorie:Java-Programmierwerkzeug Kategorie:Java-Programm Kategorie:Kontinuierliche Integration Kategorie:Build-Management