Page 42 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 42

42 | CI/CD Süreç Yönetimi





           1. Temel Kavramlar





           1.1. Sürekli Entegrasyon (Continuous Integration, CI)


           CI, geliştiricilerin kodun uygulanabilirliği hakkında hızlı bir şekilde geri bildirim almak için, yazdığı
           kodu sürekli olarak paylaşılan bir kod deposuna entegre ettiği uygulamadır. CI, otomatikleştirilmiş
           derlemeleri ve testleri destekler, böylece ekipler tek bir proje üzerinde hızla işbirliği yapabilir.
           Ayrıca CI, yazılım şirketlerinin daha sık ve daha kısa bir sürüm döngüsüne sahip olmalarını sağlar.

           Bu strateji, geliştirilen uygulamanın, canlı ortamda hızlı ve güvenilir bir şekilde yayınlanmasını
           kolaylaştırır. CI, geliştirme ekiplerini kısa yinelemelerde yazılım oluşturmaya ve işlevsel kodlarını

           mümkün olan en kısa sürede kök kodla birleştirmeye teşvik eder.


           1.2. Sürekli Teslim (Continuous Delivery, CD)


           CD, ekiplerin kısa döngüler halinde yazılım tasarladığı, oluşturduğu, test ettiği ve yayınladığı bir
           yazılım mühendisliği uygulamasıdır. Döngünün hem hızlı hem de güvenilir olmasını sağlamak için
           her aşamada otomasyona güvenir.


           Temel olarak CD, bir uygulama geliştiricisi tarafından yapılan değişikliklerin kod deposuna veya
           kapsayıcı  kayıt  defterine  teslim  edildiği  CI  sürecininin  devamı  olan  bir  süreçtir.  Böylece,  tüm
           değişiklikler  operasyon  ekibi  tarafından  canlı  bir  üretim  ortamında  devreye  alınabilir.  CD,  bunu
           yaparak DevOps ve yazılım ekipleri arasındaki sınırlı olan iletişim sorununu çözer. Sonuç olarak,
           yinelenen bir şekilde yeni kodun mümkün olduğunca az operasyonel bağımlılıkla, otomatik olarak
           test ve canlı ortamlara kurulmasını ve yayınlanmasını garanti eder.



           1.3. Sürüm Kontrolü ve Versiyonlama

           Kaynak  denetimi  olarak  da  bilinen  sürüm  denetimi,  bir  yazılımın  kodundaki  değişiklikleri  izleme

           ve yönetme yöntemidir. Sürüm kontrol sistemleri, geliştiricilerin zaman içinde kaynak kodundaki
           değişiklikleri yönettiği yazılım araçlarıdır. CI/CD yaklaşımlarıyla en çok kullanılan ve popüler olan
           sürüm kontrol sistemi Git’tir. Bir veri kümesinin düzenli bir şekilde, genellikle bilgisayar deposunda
           tutulduğu ve muhafaza edildiği merkezi bir yerdir.

           Semantik sürüm oluşturma, yaygın olarak benimsenen bir sürüm şemasıdır; üç parçalı bir sürüm
           numarası (Major. Minor. Patch), isteğe bağlı bir yayın öncesi etiketi ve isteğe bağlı bir derleme meta
           etiketi kullanır. Yazılım geliştirmede versiyonlama çok önemlidir. Kök kodu “Master” veya “Main”

           isimlendirmesi ile isimlendirilebilir. Sprint sonlarında çıkılan her yeni release için Minor numarası
           arttırılır ve Patch numarası sıfırlanır. Ara sürümlerde ise Patch numarası arttırılır.
   37   38   39   40   41   42   43   44   45   46   47