Jenkins
| |
---|---|
Startseite von Jenkins | |
Basisdaten
| |
Entwickler | Kohsuke Kawaguchi |
Erscheinungsjahr | 2. Februar 2011[1] |
Aktuelle Version | 2.485[2] (12. November 2024) |
Aktuelle Vorabversion | wöchentliches Release |
Programmiersprache | Java |
Kategorie | Kontinuierliche Integration |
Lizenz | MIT-Lizenz[3] |
deutschsprachig | ja |
www.jenkins.io |
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.
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.[4] 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ß,[5] wurde das Projekt schließlich in Jenkins umbenannt.[6] 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.[7] Da Oracle Hudson ebenfalls weiterentwickelte, kann von einem Fork („Abspaltung“) der Softwareentwicklung gesprochen werden.
Hudson gewann 2008 einen Duke’s Choice Award[8] in der Kategorie „Developer Solutions“. Im Januar 2014 wurde Kawaguchi der Chief Technology Officer von CloudBees.[9][10] CloudBees verließ im August 2010 den sogenannten „Stealth-Mode“ als Startup[11] und Kohsuke Kawaguchi gibt an, dort seit November 2010 dauerhaft beschäftigt zu sein. Damit haben sowohl Hudson als auch Jenkins ein unterstützendes Unternehmen, das Support und Fortentwicklung anbietet, und werden beide als Open-Source-Projekte in der Verwaltung gemeinnütziger Organisationen geführt: Hudson bei der Eclipse Foundation[12] und Jenkins bei der Software in the Public Interest.
2016 wurde die Weiterentwicklung von Hudson zugunsten von Jenkins eingestellt.[13][14]
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 Jenkins sofort auf Application-Servern nach der Jakarta-EE-Spezifikation lauffähig ist und es zusätzlich keines Servlet-Containers, wie z. B. Tomcat, bedarf. Unterstützt werden verschiedene Build-Tools wie Apache Ant, Maven oder Gradle, Versionsverwaltungssysteme wie CVS, Subversion oder Git, automatische Testverfahren („test tools“) wie JUnit oder Emma. Durch verschiedene Zusatzmodule („Plugins“) können auch andere Compiler gesteuert werden, sodass neben Java- auch PHP-, Ruby- oder .Net-Framework-basierte Projekte verwaltet werden können. Neben CruiseControl ist Jenkins eines der am häufigsten eingesetzten Werkzeuge zur kontinuierlichen Integration.
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.
Die Software steht unter der MIT-Lizenz.[15] Die verwendeten Icon-Grafiken stammen aus dem Tango Desktop Project und stehen unter der Lizenz Creative Commons Attribution Share-Alike.