Jenkins — Koshuke Kavaguchi tomonidan yaratilgan, ochiq manbali uzluksiz integratsiya (CI) va uzluksiz yetkazib berish (CD) serveri. Loyiha 2011-yilda Hudson nomli oldingi loyihadan “fork” qilingan holda paydo bo’lgan.
Hudson’dan ajralib chiqish tarixi
Kavaguchi dastlab Hudson nomli CI serverini Sun Microsystems’da ishlab chiqqan edi. Oracle Sun’ni sotib olgach, loyiha nomi va boshqaruvi ustidan kelishmovchilik yuzaga keldi, natijada hamjamiyat kodni “Jenkins” nomi ostida davom ettirishga qaror qildi, Hudson esa Oracle qaramog’ida alohida rivojlanishda davom etdi.
Plagin ekotizimining kengligi
Jenkins’ning eng katta kuchi — mingdan ortiq rasmiy plaginga ega ekotizimi bo’lib, u deyarli har qanday versiya nazorati tizimi, bulut xizmati yoki test vositasi bilan integratsiyani ta’minlaydi. Bu moslashuvchanlik Jenkins’ni har qanday texnologik stekka moslashtirish imkonini beradi, ammo ayni paytda konfiguratsiyani murakkablashtirishi mumkin.
Quvur liniyasini kod sifatida yozish
Zamonaviy Jenkins loyihalarda “Jenkinsfile” deb ataladigan fayl orqali butun CI/CD jarayoni kod sifatida yoziladi va repozitoriyning o’zida saqlanadi. Bu yondashuv “Pipeline as Code” deb ataladi va jarayonni versiyalash, ko’rib chiqish hamda takrorlanishini boshqa kod kabi boshqarish imkonini beradi.
O’z serverida joylashtirish erkinligi
CircleCI yoki Travis CI kabi bulutli xizmatlardan farqli o’laroq, Jenkins odatda tashkilotning o’z serverida o’rnatiladi, bu esa to’liq nazorat va maxfiylikni ta’minlaydi, ammo serverni sozlash, yangilash va xavfsizligini ta’minlash mas’uliyatini ham tashkilotning o’ziga yuklaydi.
Zamonaviy bulutli CI vositalari bilan raqobat
GitHub Actions va GitLab CI kabi platformaga o’rnatilgan, boshqaruvsiz (managed) CI xizmatlarining ko’tarilishi bilan yangi loyihalar ko’pincha soddaroq sozlash imkoniyati tufayli ushbu zamonaviy vositalarni afzal ko’rmoqda. Shunga qaramay, Jenkins’ning moslashuvchanligi va o’rnashib qolgan infratuzilmasi uni ko’plab yirik korxonalarda hamon amaldagi standart qilib qolmoqda.
Bog’liq tushunchalar
CI/CD, Hudson, Plagin, Pipeline, DevOps, GitHub Actions, Konfiguratsiya boshqaruvi