Jenkins
Jenkins, sürekli entegrasyon ve sürekli teslimat süreçlerini otomatize etmek için geliştirilmiş bir araçtır. Açık kaynak kodlu olan Jenkins, ücretsiz olarak kullanılabilir.
Jenkins Nedir?
Jenkins bir otomasyon sunucusudur. Geliştiricilere, sürekli entegrasyon (continuous integration, CI) ve sürekli teslimat (continuous delivery) için yardımcı olan Jenkins, Java ile geliştirilmiştir. Yazılım geliştirme sürecinin parçaları olan build, test ve deployment gibi aşamaları içeren CI/CD süreçlerinin otomatize edilmesini sağlar.
Yazılımlar ilk geliştirme aşamasından sonra da sürekli olarak üzerinde çalışmalar gerçekleştirilen bir ürünlerdir. Yeni özellikler kazandırma veya bakım çalışmalarının düzenli bir şekilde gerçekleştirilmesi için geliştirme ekipleri belirli araçlar ve yöntemler kullanır. Farklı geliştiricilerin üzerinde çalıştığı projelerde, yapılan değişikliklerin test edilerek projeye dahil edilmesi gerekir. Jenkins yapılan değişiklikleri build etme, testleri gerçekleştirme sonrasında dağıtım aşamalarını üstlenir. Eğer bir hata tespit ederse bunu geliştiricilere bildirir.
Sürekli entegrasyon veya CI, geliştirilen kodun test edilerek ana proje ile birleştirilmesini kapsar. Geliştiriciler çeşitli versiyon kontrol sistemleri kullanır. Örneğin Git tabanlı GitHub ve GitLab sıklıkla tercih edilir. Jenkins, aldığı kodu test eder ve testlerden başarıyla geçerse ve Git reposuna yollar.
Sürekli dağıtım yani CD ise, geliştirilen yazılımın ürün ortamına dağıtılmasını yani son kullanıcıya ulaştırılmasını kapsar. Jenkins bu dağıtım sürecini herhangi bir müdahaleye ihtiyaç duymadan otomatik olarak gerçekleştirebilir.
Jenkins Pipeline Nedir?
Türkçe’ye boru hattı olarak çevrilebilen pipeline, işlem hattı olarak düşünülebilir. Jenkins gerçekleştirdiği çalışmada belirli bir işlem sırasını takip eder. Bu işlemler öncesinde geliştiriciler tarafından Jenkins’e tanımlanır. Sonrasında ise Jenkins CI/CD işlemlerini bu işlem hattını takip ederek otomatik olarak gerçekleştirir.
Jenkins Kullanımının Avantajları Nelerdir?
Yazılım geliştirme alanında yaygın olarak kullanılan Jenkins, geliştiricilere birçok avantaj sağlar. Jenkins kullanmanın sağladığı avantajlardan önce çıkanlar şunlardır:
- Jenkins tamamen ücretsiz ve açık kaynak kodlu bir araçtır.
- Geliştiricilerin ihtiyaçları göz önüne alınarak geliştirilmiştir. CI/CD süreçlerinin otomatize edilmesini sağlayarak geliştirme sürecini hızlandırır.
- Kurulumu ve kullanımı basittir. Windows, Linux ve macOS işletim sistemlerinde çalışabilir.
- Java kullanılarak geliştirilmiştir, bu sayede farklı platformlar üzerinde çalışabilir.
- Geniş bir kullanıcı kitlesine sahiptir. Bu da Jenkins’i yazılım geliştirme sektöründe ekipler tarafından kullanılan geçerli bir araç haline getirir.
- Topluluk desteği ile geliştirilmeye devam eden Jenkins, ayrıca çeşitli eklentiler ile ek özellikler kazanabilir. Jenkins için geliştirilen eklentilerin sayısı oldukça fazladır.
Jenkins’in Gelişimi
Geliştiricileri CD/CI süreçlerinde yardımcısı olan Jenkins’in geliştirilmesi 2004 yılına kadar dayanır. Sun Microsystems çalışanı Kohsuke Kawaguchi ve ekibi tarafından kullanılmak üzere geliştirilmeye başlanan proje Hudson adını taşıyordu. Açık kaynak haline getirilerek yayınlanan proje kısa zaman içerisinde geniş kullanıcı kitlesine sahip hale geldi.
Oracle’ın Sun Microsystems’i 2010 yılında satın almasıyla birlikte Hudson topluluğu ve Oracle arasında bazı anlaşmazlık yaşandı. Sonuç olarak 2011 yılında Hudson topluluğu aracın adını Jenkins olarak değiştirmeye karar verdi. Diğer taraftan ise Oracle bunu kabul etmeyerek kendisi Hudson’ı Eclipse Vakfı’na bağışlayarak devam ettireceğini belirtti. Hudson’ın geliştirilmesi 2017 yılında sonlandırılırken Jenkins, aktif olarak geliştirilmeye devam edilmektedir.
Ücretsiz eğitimlerimiz seni bekliyor.
Her biri alanında uzman eğitmenler tarafından hazırlanmış eğitimlerimizden sana uygun olanı keşfedip, hemen eğitime başlayabilirsin. Süre kısıtlaması olmayan eğitimlerimizi, hiç bir ücret ödemeden hemen keşfetmeye başla.