Sobes.tech
Junior

CI va CD o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

CI (Davomi Boshqarish) — bu o'zgarishlarni umumiy omborga avtomatik ravishda birlashtirish va ularni avtomatik testlar va yig'ish yordamida tekshirish amaliyotidir.

# Oddiy CI ssenariysi misoli
def build_and_test():
    print("Loyihani qurish...")
    # Qurish buyruqlari (masalan, pip install)
    print("Testlarni ishga tushirish...")
    # Testlarni ishga tushirish buyruqlari (masalan, pytest)
    print("CI yakunlandi.")

build_and_test()

CI ning asosiy maqsadlari:

  • Integratsiya va xatoliklarni erta aniqlash.
  • Integratsiya vaqtini va harakatlarini qisqartirish.
  • Kod bazasining barqarorligini ta'minlash.

CD quyidagilarni anglatishi mumkin:

  • Davomiy Yetkazib Berish: CI ning kengaytirilishi, barcha CI jarayonlari muvaffaqiyatli o'tgach, o'zgarishlar avtomatik ravishda joylashtirishga tayyorlanadi. Joylashtirish ishlab chiqarishga qo'lda amalga oshirilishi mumkin, lekin u barcha tekshiruvlardan o'tgan tayyor artefakt asosida amalga oshiriladi.

  • Davomiy Joylashtirish: CD ning qo'shimcha kengaytmasi, barcha avtomatlashtirilgan testlar va tekshiruvlar muvaffaqiyatli o'tgach, o'zgarishlar avtomatik ravishda ishlab chiqarishga joylashtiriladi, qo'lda aralashuvsiz.

Asosiy farqlar:

Jihat CI (Davomi Boshqarish) CD (Davomiy Yetkazib Berish/Joylashtirish)
Asosiy maqsad Kodni integratsiya qilish va test qilish Joylashtirish uchun tayyorlik / Avtomatik joylashtirish
CI natijasi Integratsiya qilingan va testdan o'tgan kod Joylashtirish uchun tayyor artefakt / Kod ishlab chiqarishda
Builddan keyingi harakatlar Test qilish va sifat nazorati Joylashtirishga tayyorlash / Avtomatik joylashtirish
Qo'lda aralashuv Mavjud, lekin minimal (xatoliklarni tuzatish uchun) Ishlab chiqarishga yetkazib berish uchun zarur (Delivery) / Zarur emas (Deployment)

CI, CD uchun asosiy bo'lib, yaxshi tashkil etilgan davomiy integratsiya jaronsiz, samarali davomiy yetkazib berish yoki joylashtirishni amalga oshirish mumkin emas.