Bamboo vs Jenkins: Melyik CI/CD eszközt használjuk?
On október 7, 2021 by adminMost már lehetetlen a szoftverfejlesztésről beszélni a DevOps tárgyalása nélkül, és a folyamatos integráció és a folyamatos szállítás fontos szempontok, mivel ezek legjobb gyakorlatai jobb telepítési terveket, kevesebb hibát a kiadásokban és gyorsabb visszajelzést eredményezhetnek a folyamatokról.
Mi a legjobb módja a folyamatos frissítéseknek és a megbízható verziók kiadásának? Milyen eszközöket érdemes használni? Ezek a kérdések sok csapatot arra késztetnek, hogy a Bamboo vs. Jenkins összehasonlítást keresse – elvégre nem ezért van ezen az oldalon?
Mélyrehatóan megvizsgáljuk az Atlassian Bamboo-t és a Jenkins-t, és meghatározunk néhány különbséget a folyamatos integrációs eszközök között.
Bamboo Continuous Integration
2007-ben az Atlassian bejelentette a Bamboo első kiadását, hogy beugorjon a piac ezen feltörekvő résébe. Amit a Bamboo nyújt, az a szervezettség, a rugalmasság, az egyszerű GUI és a CI/CD módszertanok erőteljes kombinációja, hogy nagyszerű élményt nyújtson a build és telepítési tervek készítése során. Az Atlassian Bamboo fő célja, hogy segítse a szoftverszállítását, hogy rugalmas és erős (szinte törhetetlen) legyen, mint egy bambusz.
A Bamboo a kódtól a telepítésig tart:
Itt láthatja, hogyan szervezheti buildjeit egy jól meghatározott struktúrán keresztül. A Bamboo-n terveket hozol létre (build vagy deploy), majd szakaszokat, munkákat és feladatokat állítasz be – mindez nagyon rugalmas és könnyen beállítható a felhasználói felületen keresztül.
A tervedben több szakasz is lehet. Az Atlassian dokumentációja szerint minden egyes Stage:
- “Alapértelmezés szerint egyetlen Feladattal rendelkezik, de több Feladat csoportosítására is használható,
- Feldolgozza a Feladatait párhuzamosan, több ügynökön (ahol elérhető),
- El kell végeznie sikeresen az összes Feladatát, mielőtt a tervben a következő Stage feldolgozható lenne,
- Elkészíthet olyan leleteket, amelyeket egy következő Stage számára elérhetővé tehet.”
A Stages alatt vannak a Jobs, amelyek a Tasks (a végrehajtandó alapelemek) egy csoportja. Az Atlassian dokumentációja szerint egy Job:
- “Egy vagy több feladat sorozatát dolgozza fel, amelyeket egymás után futtat ugyanazon az ügynökön,
- A feladatok végrehajtásának sorrendjét szabályozza,
- A feladatban szereplő egyes feladatok követelményeit gyűjti össze, hogy ezeket a követelményeket össze lehessen egyeztetni az ágens képességeivel,
- Meghatározza, hogy a build milyen artefaktumokat fog létrehozni,
- Kizárólag egy korábbi Stage-ben létrehozott artefaktumokat használhat,
- Meghatározza azokat a címkéket, amelyekkel a build eredménye vagy a build artefaktumok jelölve lesznek.”
A Bamboo erősebbé válik a más Atlassian eszközökkel, például a Jira szoftverrel és a Bitbucket Serverrel való beépített integrációjával. A kódváltozások, a build eredmények és a telepítések részletei az összes platformon áttekinthetők.”
A nagy igénybevétel esetén kihasználhatja a távoli build-ügynökök előnyeit, beleértve az elasztikus build-ügynököket (Amazon EC2), így a buildek több szerverre vannak elosztva, csökkentve a várakozási időt.
A főbb funkciók közé tartozik:
- “Jira Software és Bitbucket Server integráció a kiadás végrehajtásának, minőségének és állapotának végponttól végpontig tartó átláthatóságáért.”
- Folyamatos buildek küldése tesztkörnyezetekbe és a buildek automatikus kiadása az ügyfelek számára.”
- Elasztikus build-ügynökök kezelése, amely lehetővé teszi a build-kapacitás skálázását a hálózaton lévő szerverek Amazon EC2 segítségével történő összekapcsolásával. Az Agent Matrix funkcióval vizualizálhatja az egyes buildek rendszerkövetelményeit, így a buildeket a megfelelő ügynökökhöz rendelheti.
- Automatizált egyesítés a Git és Mercurial ágak között.
- Az ág neve alapján automatikusan felismerheti, építheti, tesztelheti és egyesítheti az ágakat, hogy a kódot folyamatosan telepítse a termelési vagy staging szerverekre.
- Támogatás és erőforrások állnak rendelkezésre a vállalati csapatok számára. “
Technikai részletek a támogatott platformokról:
- A Bamboo Java nyelven fut (jelenleg támogatja a Java 1.8-at)
- Támogatott operációs rendszerek:
- Támogatott adatbázisok: Microsoft Windows, Linux, Solaris és MacOS / OSX
- Támogatott adatbázisok: Microsoft Windows, Linux, Solaris és MacOS / OSX: Mysql, Postgres, SQL Server és Oracle
- Támogatott webböngészők: Mysql, Postgres, SQL Server és Oracle: Firefox, Chrome, Safari, Microsoft Edge és IE 11
- Source Repository: GIT, Mercurial, Subversion és Perforce
- Docker for Mac / Linux (17 vagy újabb)
Jenkins Continuous Integration
A 2004-ben először kiadott (korábbi nevén Hudson) Jenkins az egyik legnépszerűbb CI eszköz. A Bamboo ötletét követve a CI/CD módszertanokat kezeli, hogy lehetővé tegye a csapatok számára a minőségi szoftverek építését, tesztelését és telepítését.
A Jenkins egy ingyenes, nyílt forráskódú alkalmazás. Hatalmas közösséggel rendelkezik, amely segít az alkalmazás és az ökoszisztéma karbantartásában és fejlesztésében. Egyik előnye, hogy több száz bővítménnyel rendelkezik, amelyek lehetővé teszik az ügyfelek számára, hogy a Jenkins-t szinte bármilyen kívánt CI/CD folyamatnak megfelelően alakítsák.
Ez egy példa a Jenkins segítségével megvalósítható forgatókönyvre:
A legfontosabb funkciók közé tartozik:
- “Continuous Integration and Continuous Delivery.
- Egyszerű telepítés.
- Egyszerű konfiguráció.
- Pluginok százai
- Bővíthető a plugin architektúrán keresztül
- Egyszerűen szétoszthatja a munkát több gép között, segítve a buildek, tesztek és telepítések vezetését több platformon keresztül.”
A Jenkins olyan beépített funkciókkal is rendelkezik, mint a szkriptelés közvetlenül a felhasználói felületen a feladatok/pipeline-ok létrehozásához/frissítéséhez. Elérhető egy felhő verzió is.
Itt egy példa egy Jenkinsfile
Declarative Pipeline szintaxis használatával (definíciók az előző linken találhatók).
Technikai részletek a támogatott platformokról:
- Támogatott operációs rendszerek:
- Támogatott webböngészők: Microsoft Windows, Linux, Solaris és MacOS: Firefox, Chrome, Safari, Microsoft IE 11
- Source Repository: CVS és Subversion, beépített Git-támogatás, és számos más verziókezelő rendszerrel is integrálható pluginokon keresztül.
- Docker konténerként telepíthető
Bamboo vs. Jenkins: Az összehasonlítás
Mindkét alkalmazás nagyon erős és számos funkciót kínál:
BAMBOO |
JENKINS |
|
---|---|---|
Built…a Git elágazási munkafolyamatokban |
támogatott |
x |
Built-a telepítésben Projektek |
támogatott |
x |
Beépített Jira szoftverintegráció |
támogatott |
x |
Beépített-Bitbucket Server integrációban |
támogatott |
x |
REST API-k |
támogatott |
támogatott |
Teszt automatizálás |
támogatott |
pluginokon keresztül |
Egyszerű vállalati-grade permissions |
támogatott |
via plugins |
G2Crowd a felhasználói visszajelzések alapján készített összehasonlítást a következő szempontok alapján:
BAMBOO |
JENKINS |
|
---|---|---|
megfelel a követelményeknek | 8.8 | 8.9 |
Egyszerű használat | 8.5 | 7.8 |
Egyszerű beállítás | 7.5 | 7.8 |
Egyszerű adminisztráció | 8.2 | 7.8 |
A támogatás minősége | 8.2 | 7.6 |
Mivel mindkét eszköz ugyanazt a célt tűzte ki maga elé és mindkettő magas színvonalú szolgáltatást nyújt, honnan tudhatja, hogy melyik eszköz a legjobb Önnek? Vegyen figyelembe néhány szempontot:
- A Jenkins egy nyílt forráskódú eszköz, míg a Bamboo egy kereskedelmi eszköz. A Jenkins egy olyan projekt, amelyet a globális közössége támogat, a Bamboo pedig saját dedikált csapattal rendelkezik a fejlesztésére.
- A Bamboo felhasználóbarátabb, mint a Jenkins – mivel általában a nyílt forráskódú alkalmazások inkább más funkciókkal foglalkoznak.
- A Jenkins rengeteg bővítményt kínál, hogy az ügyfelek elérhessék céljaikat, míg a Bamboo a legtöbb funkciót már beépítve tartalmazza, és az Atlassian Marketplace-en elérhető több száz bővítménnyel számol.
- A Bamboo zökkenőmentesen integrálódik az Atlassian csomagba, így nagyszerű élményt nyújt, ha már használja a Jira Software-t és a Bitbucket-et.
- A Jenkins és a Bamboo egyaránt nagyszerű online dokumentációval rendelkezik, lehetőséget biztosítva az ügyfeleknek a kutatásra és a megoldás megtalálására, mielőtt segítségért fordulnának a támogatáshoz.
- A Bamboo nagyszerű szakmai támogatást nyújt a licencelt ügyfelek számára, valamint online dokumentációt és Atlassian közösségi segítséget is kínál. A Jenkins közösségi támogatással rendelkezik, és szakmai támogatást kaphat a Cloudbees-től.
- A Bamboo fizetős eszköz, és az ára a felhasználástól függ, az alapján, hogy hány távoli ügynökre lesz szüksége. A Jenkins egy ingyenes eszköz.
Ez egy elég nehéz döntés, de mi tudunk segíteni ebben a döntésben. Atlassian Platinum Solution Partnerként meg tudjuk mutatni a Bamboo használatának minden előnyét, és azt, hogyan javíthatja a fejlesztőcsapatát, hogy a legtöbbet hozza ki a folyamatos integrációból az Atlassian eszközeivel. Legyen szó akár egy kis fejlesztőcsapatról, akár egy több száz buildet várakoztató óriásvállalatról, biztosak vagyunk benne, hogy a Bamboo segíthet abban, hogy a szoftverek gyorsabban és jobb minőségben kerüljenek átadásra.
Kipróbálná a Bamboo-t? Vegye fel a kapcsolatot a Valiantys csapatával, akik segítenek Önnek a licenceléssel és a telepítéssel kapcsolatban.
Vélemény, hozzászólás?