CI/CD (Continuous Integration / Continuous Deployment)
Proqram təminatının hazırlanması prosesində kodun avtomatik inteqrasiyasını, sınaqdan keçirilməsini və istifadəçilərə çatdırılmasını təmin edən metodologiyalar toplusudur.
Ətraflı İzah
CI/CD (Davamlı İnteqrasiya və Davamlı Tətbiq) müasir DevOps (Development and Operations) təcrübələrinin və çevik (Agile) proqram təminatı hazırlanmasının əsas sütunudur. CI (Continuous Integration) tərtibatçıların tez-tez etdikləri kod dəyişikliklərinin avtomatik olaraq əsas kod bazasına birləşdirilməsi və hər birləşmədən sonra avtomatik testlərin işə salınması prosesidir. Bu, kodda yaranan xətaların erkən mərhələdə tapılmasına kömək edir.
CD (Continuous Deployment) isə testlərdən uğurla keçən yeni kodun avtomatik olaraq canlı serverə (production) yüklənməsi və istifadəçilərə çatdırılmasıdır. Bəzi hallarda bu proses "Continuous Delivery" adlanır ki, burada canlıya keçid əmri əl ilə verilir. CI/CD boru xətti (pipeline) insan amilindən qaynaqlanan səhvləri minimuma endirir və yeni funksiyaların bazara çıxma sürətini (time-to-market) kəskin şəkildə artırır.
CI/CD tətbiq edən şirkətlər gündə onlarla, hətta yüzlərlə dəfə tətbiqi yeniləyə bilirlər. Bu, istifadəçi rəylərinə dərhal reaksiya verməyə və rəqabətdə öndə qalmağa imkan verir. Populyar CI/CD alətlərinə GitHub Actions, GitLab CI, Jenkins və CircleCI daxildir.
Bir e-ticarət tətbiqində proqramçı səbət səhifəsindəki xətanı düzəldir və kodu sistemə göndərir. CI/CD boru xətti dərhal işə düşür: 1) Kodun sintaksisi yoxlanılır; 2) Avtomatik testlər işləyir və ödəniş sisteminin pozulmadığı təsdiqlənir; 3) Hər şey qaydasındadırsa, yeni kod heç bir xidmət kəsintisi olmadan avtomatik olaraq canlı veb-sayta yüklənir. Bütün bu proses cəmi 5 dəqiqə çəkir.