18/5/2020

CI- en CD-tools: Jenkins versus Bamboo

Continuous integration (CI) en continuous development (CD) zijn methoden die helpen om softwarereleases te versnellen en de time-to-market van applicaties te verkorten. Wel zo handig in een tijd waarin technologische innovaties zich bijzonder snel voltrekken en we te maken hebben met dynamische, snel veranderende marktomgevingen.

Om serieus werk te maken van CI en CD, is het natuurlijk belangrijk dat je beschikt over de juiste tools. In dit blogartikel kijken we naar twee bekende en populaire CI/CD-tools: Jenkins en Bamboo. Wat hebben ze te bieden? Wat zijn de belangrijkste verschillen? En welke tool is de beste keuze voor jouw organisatie? Lees verder voor de antwoorden op deze belangrijke vragen.

Jenkins

Jenkins is een van de modernste CI-tools op de huidige markt. Het programma is open source en geschreven in Java. Het wordt gebruikt voor het bouwen en testen van software. Jenkins is een geschikte tool voor het werken aan grote projecten en maakt het voor developers gemakkelijk om benodigde aanpassingen te integreren in vrijwel elk ontwikkeltraject.

 Jenkins stelt bedrijven in staat om middels grootschalige automatisering (geautomatiseerde test- en deploymentomgevingen) sneller software te ontwikkelen en releasen. Bovendien is het een tool die verschillende processen uit de development lifecycle integreert. Zo wordt het gemakkelijker om deelprocessen als bouwen, documenteren, testen, verpakken en inzetten nauwkeurig op elkaar af te stemmen. Jenkins heeft ook diverse plug-ins die zorgen voor een betere integratie van de afzonderlijke DevOps-fases.

Belangrijkste functionaliteiten van Jenkins

Jenkins heeft een keur aan functionaliteiten en eigenschappen die het tot een uitstekende partner maken voor iedereen die serieus werk wil maken van continuous integration en continuous development. Dit zijn de belangrijkste features:

●       uitstekende documentatie;

●       werkt op Windows, MacOS, Ubuntu, Red Hat, Fedora, openSUSE, FreeBSD, OpenBSD en Gentoo;

●       compatibel met Chrome, Firefox, Safari en Internet Explorer;

●       goede community support;

●       meer dan 1000 beschikbare plug-ins voor integratie met andere platformen;

●       ondersteunt REST API en automatisch testen (via plug-ins);

●       ondersteunt geen built-in JIRA-integratie, GIT branching workflows en Bitbucket-serverintegratie.

Bamboo

Bamboo werd in 2007 ontwikkeld door Atlassian en is geschreven in Java. In tegenstelling tot Jenkins is Bamboo niet open source. Een applicatie bouwen, de gewenste integraties doorvoeren, broncodes testen, naar eigen inzicht tools gebruiken voor CI en CD en een app klaarzetten voor deployment; met Bamboo kan het allemaal op een geautomatiseerde manier.

Belangrijkste functionaliteiten van Bamboo

Bamboo biedt een indrukwekkend scala aan functionaliteiten dat in sommige opzichten nog iets verder gaat dan het aanbod van Jenkins. Dit zijn de belangrijkste Bamboo-features:

●       uitgebreide documentatiemogelijkheden;

●       werkt op besturingssystemen als Windows, MacOS, Linux en Solaris;

●       compatibel met Chrome, Edge, Firefox en Safari;

●       alleen support voor gebruikers met een licentie;

●       minder beschikbare plug-ins dan bij Jenkins;

●       ondersteunt REST API en automatisch testen (via plug-ins);

●       ondersteunt wel built-in JIRA-integratie, GIT branching workflows en Bitbucket-serverintegratie.

De vergelijking

Nu we een summiere blik hebben geworpen op Jenkins en Bamboo, is het tijd om de twee tools met elkaar te vergelijken. We doen dit op basis van een aantal functionele eigenschappen: populariteit, kosten en licenties, installatie, gebruiksgemak, support en compatibiliteit/integratiemogelijkheden met andere tools en platforms.

Populariteit

Op dit vlak wint Jenkins het duidelijk van Bamboo. Jenkins bestaat langer en werd direct na de ontwikkeling al omarmd door een groot aantal organisaties. Omdat het open source is, kan Jenkins zich ook beroepen op een grote gebruikerscommunity.

Kosten en licenties

Aangezien Jenkins open source is, kan iedere ontwikkelaar de tool kosteloos downloaden en gebruiken. Bamboo werkt met een commerciële licentiestructuur. Er is een gratis versie die je dertig dagen kunt gebruiken, maar daarna moet er een licentie worden gekocht. De premiumoptie van Bamboo, die een onbeperkt aantal taken en lokale agenten garandeert, kost 1270 dollar per jaar. Voor het verder ontwikkelen en verbeteren van de tool vertrouwt Jenkins vooral op zijn internationale community, terwijl wijzigingen en updates in Bamboo worden aangebracht door een eigen ontwikkelteam.

Installeren en configureren

Beide programma’s zijn betrekkelijk eenvoudig te installeren en configureren. Als je reeds beschikt over Java en Apache Tomcat, kan dat in het geval van Jenkins al in drie stappen. Download het Jenkins war file van de officiële Jenkins-website, deploy het bestand en installeer de benodigde plug-ins.

 Het installeren en configureren van Bamboo is iets meer werk, maar zeker ook geen raketwetenschap. Na het installeren van Java en Bamboo, moet je ook nog een installatie- en home-directory aanmaken, waarna je de tool kunt configureren.

Gebruiksgemak

Ook het gebruiksgemak van de tools is natuurlijk een belangrijk aandachtspunt als je aan de slag gaat met CI en CD. Hoe verhouden Jenkins en Bamboo zich op dit vlak tot elkaar? De meeste ontwikkelaars vinden dat Bamboo de meer gebruiksvriendelijke van de twee is. De Bamboo-interface is bijvoorbeeld erg overzichtelijk en intuïtief. Daarnaast fungeert het programma als een prima gids door de diverse bouw- en deploymentfases van het ontwikkelproces.

Jenkins is vooral gebouwd op functionaliteit en heeft een steilere leercurve dan Bamboo. Het is vooral een programma door en voor doorgewinterde ontwikkelaars. Door het grotere aantal plug-ins waar gebruikers uit kunnen kiezen, biedt de tool wel iets meer mogelijkheden tot specialistisch maatwerk dan Bamboo.

Support

Wat betreft support zijn de verhoudingen duidelijk: Jenkins biedt wereldwijde support aan alle gebruikers, terwijl Bamboo professionele ondersteuning biedt aan klanten met een licentie. Bamboo profiteert ook van de uitgebreide kennis die binnen het bredere Atlassian-netwerk aanwezig is. Beide tools bieden, op hun eigen manier, ruime deskundige ondersteuning.

Compatibiliteit en integratie met andere systemen en tools

Goede CI- en CD-tools zijn idealiter ook gemakkelijk te integreren met een breed spectrum aan overige software. Op dit vlak biedt Bamboo iets meer mogelijkheden, vooral omdat de tool de ingebouwde integraties heeft met Git, JIRA en Bitbucket die Jenkins mist. Jenkins levert daarentegen net wat meer plug-ins, die prima te combineren zijn met Git, Maven 2, Amazon EC2 of HTML publisher. Beide tools stellen dus niet teleur op het gebied van integratiemogelijkheden.

Jenkins of Bamboo kiezen?

Maar wat is nu uiteindelijk de beste keuze? Jenkins of Bamboo? Op die vraag is geen universeel en eenduidig antwoord te geven. Wat het beste platform voor jouw business is, hangt af van diverse factoren. Hoe bekend zijn medewerkers binnen jouw organisatie met beide tools? Met welk type interface werken ze graag? Hoe belangrijk zijn bepaalde plug-ins en integratiemogelijkheden met andere tools en software? En wat is het beschikbare budget? Als de financiële ruimte beperkt is, ligt een keuze voor Jenkins bijvoorbeeld voor de hand. Bamboo biedt daarentegen weer de beste integratiemogelijkheden met JIRA, Bitbucket en Fisheye.

Advies bij ACC ICT

Bij ACC ICT voorzien we je graag van advies over het gebruiken van Jenkins of Bamboo. Hierbij kijken we naar de bijzondere behoeften en wensen van jouw organisatie om tot de best mogelijke match te komen. 


Deel deze post
Ronald Kers
Ronald behoort tot de harde kern die meer dan 10 jaar in dienst is bij ACC ICT. Als contentmarketeer schrijft Ronald graag over technologische ontwikkelingen binnen de IT-branche. Met een achtergrond als system administrator weet hij als geen ander complexe materie in begrijpelijke taal uit te leggen.