Jenkins (Software)
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 | |
---|---|
Startseite von Jenkins | |
Basisdaten | |
Entwickler | Kohsuke Kawaguchi |
Erscheinungsjahr | 2. Februar 2011[1] |
Aktuelle Version | 2.330[2] (12. Januar 2022) |
Aktuelle Vorabversion | wöchentliches Release |
Programmiersprache | Java |
Kategorie | Kontinuierliche Integration |
Lizenz | MIT-Lizenz[3] |
deutschsprachig | ja |
www.jenkins.io |
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.[4] Kawaguchi behielt die Leitung bei Hudson und arbeitete nach eigenen Angaben auf freiberuflicher Basis weiter bei Oracle. Da Oracle die Namensrechte an Hudson hält, wurde das Projekt schließlich in Jenkins umbenannt.[5] 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.[6] Da Oracle Hudson ebenfalls weiterentwickelte, kann von einem Fork („Abspaltung“) der Softwareentwicklung gesprochen werden.
Hudson gewann 2008 einen Duke’s Choice Award[7] in der Kategorie „Developer Solutions“. Im Januar 2014 wurde Kawaguchi der Chief Technology Officer von CloudBees.[8][9] CloudBees verließ im August 2010 den sogenannten „Stealth-Mode“ als Startup[10] 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[11] und Jenkins bei der Software in the Public Interest.
2016 wurde die Weiterentwicklung von Hudson zugunsten von Jenkins eingestellt.[12][13]
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 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-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.
Lizenz
Die Software steht unter der MIT-Lizenz.[14] Die verwendeten Icon-Grafiken stammen aus dem Tango Desktop Project und stehen unter der Lizenz Creative Commons Attribution Share-Alike.
Auszeichnungen
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, ISSN 1619-795X, 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
- jenkins-ci.361315.n4.nabble.com. (abgerufen am 10. Dezember 2017).
- github.com. 12. Januar 2022 (abgerufen am 18. Januar 2022).
- License. (englisch, abgerufen am 28. Juli 2018).
- Alexander Neumann: Hudson-Chefentwickler verlässt Oracle. Heise.de, 7. April 2010, abgerufen am 4. August 2018 (deutsch).
- Andrew Bayer: Rename Vote Results. 29. Januar 2011, abgerufen am 4. August 2018 (englisch).
- Andrew Bayer: Hudson's future. jenkins.io, 11. Januar 2011, abgerufen am 4. August 2018 (englisch).
- Duke's Choice Awards Spotlights 2008's Most Innovative Java Technology Applications. Business Wire, 6. Mai 2008, abgerufen am 4. August 2018 (englisch).
- People on the Move. Boston Business Journal, 17. Januar 2014, abgerufen am 4. August 2018 (englisch).
- Heidi Gilmore: Meet the New CTO Bee - Kohsuke Kawaguchi. CloudBees.com, 21. Januar 2014, abgerufen am 4. August 2018 (englisch).
- Heidi Gilmore: Welcome to CloudBees. CloudBees.com, 26. August 2010, abgerufen am 4. August 2018 (englisch).
- Hudson @ Eclipse Foundation. Abgerufen am 4. August 2018 (englisch).
- index : org.eclipse.hudson.core.git. log. (Nicht mehr online verfügbar.) 5. Mai 2016, archiviert vom Original am 11. August 2017; abgerufen am 11. August 2017 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- Frederic Gurr: About Jenkins. 8. Februar 2017, abgerufen am 11. August 2017 (englisch): „Since Hudson is not maintained anymore, Jenkins is the replacement for it. They share a common ancestry, but have diverged in the past.“
- License. Abgerufen am 4. August 2018 (englisch).
- Awards. Abgerufen am 31. Dezember 2018.