CircleCI — 2011-yilda taqdim etilgan, bulutda joylashgan uzluksiz integratsiya va yetkazib berish (CI/CD) xizmati. Jenkins kabi o’z serverida o’rnatiladigan vositalardan farqli o’laroq, CircleCI to’liq boshqariladigan (managed) xizmat sifatida taqdim etiladi, ya’ni foydalanuvchi server infratuzilmasi bilan shug’ullanishi shart emas.
Bulutli CI xizmati sifatida vazifasi
CircleCI dasturchining kod repozitoriysida o’zgarish sodir bo’lganda avtomatik ravishda kodni yig’ish, test qilish va joylashtirish jarayonlarini boshlaydi. Barcha hisoblash resurslari CircleCI’ning o’z serverlarida ijro etiladi, bu esa tashkilotni CI serverini o’zi sozlash va parvarish qilish yukidan ozod qiladi.
YAML konfiguratsiyasi orqali quvur liniyasi
CircleCI’da butun CI/CD jarayoni repozitoriy ildizidagi .circleci/config.yml faylida YAML formatida tavsiflanadi. Ushbu faylda qaysi bosqichlar (test, yig’ish, joylashtirish) qanday tartibda va qanday shartlar bilan bajarilishi aniq belgilanadi.
Docker konteynerlariga asoslangan ijro
CircleCI’ning har bir ijro muhiti odatda Docker konteyneri sifatida ishga tushiriladi, bu esa har bir test yoki build jarayoni izolyatsiyalangan, takrorlanadigan muhitda bajarilishini ta’minlaydi. Dasturchi o’z loyihasiga mos maxsus Docker image‘ni ham belgilashi mumkin.
Jenkins’dan farqi
Jenkins to’liq moslashuvchan, ammo o’z infratuzilmasini talab qiladigan vosita bo’lsa, CircleCI boshqaruvsiz xizmat sifatida tezroq sozlash va kamroq operatsion yukni taklif qiladi. Bu farq CircleCI’ni ayniqsa infratuzilmani o’zi boshqarishni istamaydigan kichik va o’rta jamoalar uchun jozibali qiladi.
Narxlash modeli
CircleCI ochiq manba loyihalar uchun cheklangan bepul hisoblash vaqtini taqdim etadi, tijorat loyihalari uchun esa ishlatilgan hisoblash resursi (kredit) asosida to’lov undiradi. Bu model kichik loyihalar uchun arzon, ammo yuqori yuklamali loyihalar uchun xarajatlarni diqqat bilan kuzatishni talab qiladi.