Page 45 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 45
CI/CD Süreç Yönetimi | 45
3. CI/CD Araçları
3.1. Jenkins
Jenkins, pipeline oluşturmada en öncelikli araçtır denilebilir. Java ile yazılmıştır. Çoğu SCM aracını
destekler. Oldukça fazla işlevi bulunan ve tüm CI/CD süreçlerini otomatize edebilecek güce sahip
olan Jenkins’e bu gücü linux komut satırı betiklerini çalıştırabilmesi verir. Temel düzeyde, yapılmak
istenen bir görevi bir hat boyunca çalıştıracak bir web arayüzü vardır. Ileri düzey kullanımlarda Groovy
dilinde yazılmış pipeline adımları kullanılır. Jenkins yazılım geliştirmesinden gelen kod değişikliklerini
takip edebilir ve otomatik olarak pipeline’ı işletir. Zamanlanmış görevler ile pipeline’ları çalıştırabilir.
Pipeline’da unit test, integration test gibi testleri koşturup ve docker imajı oluşturarak imajın bir imaj
deposuna gönderilmesi vb. adımları içerir. Her kod değişikliği için çalıştırılan pipeline’lar CI sürecinin
sağlıklı şekilde ilerleyip ilerlemediğinin kontrolünü sağlar. CD süreci için ArgoCD veya FluxCD tercih
edilebileceği gibi önerilen pratikler arasında olmasa bile bash betikleri ile CD süreçlerini de devralıp
GitOps sürecine dahil olabilir.
Jenkins; geliştirme, operasyon ve güvenlik araçlarını ve çalışmalarını tek bir uygulamada toplayan
eksiksiz bir DevOps platformudur. Ekiplerin yazılım teslimini haftalardan dakikalara hızlandırmasına
yardımcı olurken, geliştirme maliyetlerini ve güvenlik risklerini azaltır.