GitLab CI — GitLab platformasining o’ziga o’rnatilgan uzluksiz integratsiya va yetkazib berish tizimi. Alohida CI xizmatidan farqli o’laroq, u kod repozitoriysi bilan bir platformada, qo’shimcha integratsiyasiz mavjud bo’ladi.
GitLab platformasiga o’rnatilgan bo’lishi
Jenkins yoki CircleCI kabi vositalardan foydalanish uchun odatda alohida xizmatni GitHub yoki GitLab repozitoriysi bilan bog’lash kerak bo’ladi. GitLab CI esa GitLab‘ning o’zida allaqachon mavjud bo’lgani sababli, foydalanuvchi faqat konfiguratsiya faylini qo’shishi kifoya, alohida xizmatga ro’yxatdan o’tish yoki webhook sozlash talab qilinmaydi.
.gitlab-ci.yml fayli orqali konfiguratsiya
Har bir GitLab loyihasida repozitoriy ildizida joylashgan .gitlab-ci.yml fayli butun CI/CD jarayonini — qaysi bosqichlar (stages), qaysi buyruqlar va qanday shartlar bilan bajarilishini — tavsiflaydi. Fayl versiya nazorati ostida saqlangani uchun, quvur liniyasidagi o’zgarishlar ham kodning o’zi kabi tarixga ega bo’ladi.
GitLab Runner tushunchasi
Haqiqiy ishni bajaruvchi qism “GitLab Runner” deb ataladi — bu GitLab tomonidan taqdim etilgan umumiy runner yoki tashkilotning o’z serverida o’rnatilgan xususiy runner bo’lishi mumkin. Runner’lar Docker konteynerlarida, virtual mashinalarda yoki to’g’ridan-to’g’ri serverning o’zida ishlashi mumkin.
Alohida CI xizmatlaridan farqi
GitLab CI‘ning asosiy afzalligi — kod va CI/CD konfiguratsiyasi bir joyda, bir xil kirish huquqlari va interfeys ostida boshqarilishi. Bu Jenkins kabi alohida sozlanadigan tizimlarga qaraganda kamroq integratsiya ishini talab qiladi, ammo foydalanuvchini GitLab ekotizimiga ko’proq bog’lab qo’yadi.
DevOps quvur liniyasidagi o’rni
GitLab CI odatda kodni test qilish, konteynerlashtirish (Docker image yaratish) va yakuniy muhitga (production) joylashtirishgacha bo’lgan butun jarayonni avtomatlashtirish uchun ishlatiladi. Bu keng qamrov GitLab‘ning “yagona DevOps platformasi” degan umumiy strategiyasining muhim qismi hisoblanadi.