Page 41 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 41
CI/CD Süreç Yönetimi | 41
Giriş
Son zamanlarda, yazılım geliştirme sektörü yavaş ama gerçek bir
dönüşümden geçmektedir. Yazılımlar giderek her şeyin bir parçası haline
gelirken yazılım geliştiriciler, artan bu taleple daha fazla otomasyon
yoluyla başa çıkmaya çalışmaktadır. Yeni özelliklerin ve uygulamaların
hızlı dağıtımına yönelik yoğun talep nedeniyle Sürekli Entegrasyon (CI)
ve Sürekli Teslimat (CD) prensipleri giderek daha fazla ve daha etkin
kullanılır hale gelmiştir. Geliştiricilerin uygulamalarının hızlı ve güvenilir
bir şekilde devreye alınmasını sağlamak için altyapı mühendisleriyle yakın
işbirliği içinde oldukları DevOps yaklaşımları uygulanmaya başlanmış ve
bu yaklaşım sayesinde projelerin verimliliği büyük ölçüde artmıştır.
Yazılım geliştirmenin ana hedefi ürünü/hizmeti kullanıcıya ulaştırmaktır.
Yazılım geliştirme bir süreçtir, yönetilmesi gerekir ve maliyetleri vardır.
Yazılım şirketlerinin hedefleri ise ürünün işlevselliği dışında yazılımı en
kısa zamanda ve en ekonomik şekilde müşterilerine sunmaktır.
Standart çevik yaklaşım pratikleri her sprint sonu teslimatında yeni
özelliklerin sisteme girişini temsil eder. Bu pratikler yeni geliştirilmiş
özellikler veya teslimatı etkileyen hataları veya bozuklukları içerebilir. Bu
çalışmanın amacı CI/CD pipeline yaklaşımı ile teslimat zaman çizelgesini,
test yükü adımlarını ve kıyaslama görevlerini iyileştirerek teslimat
sorunlarının üstesinden gelmektir. Birden fazla test adımını entegre ederek
sistem kesintisini azaltır ve tüm sürece kararlılık ve teslim edilebilirlik ekler.
Kullanılacak yöntem tam otomatize edilmiş şekilde test edilmiş bir sürece
sahip olmak anlamına gelir, standardizasyon sağlar ve ayrıca belirsizliği ve
tahminde bulunmayı azaltır, kaliteyi garanti eder ve üretkenliği artırır. Bu
yaklaşım, otomatikleştirilmiş işlem hatları aracılığıyla çevik tabanlı CI ve
CD projelerini oluşturmak, yönetmek, özelleştirmek ve otomatikleştirmek
için etkili ve verimli bir yol sağlar. Bu çalışmada anlatılanlar, standart
CI/CD süreçleri için bir başlangıç noktası görevi görür, uygulamaların
tekrar kullanımı için versiyonlama ve ArgoCD kullanarak bir Kubernetes
kümesinde yüksek düzeyde kullanılabilir çıktıları uygular.