• Çözümlerimiz
    • Self Servis Teknolojiler
    • Mobil Teknolojiler
    • Web Teknolojileri
  • Başarı Hikayeleri
  • Değerlerimiz
  • Blog
  • İletişim
Yeni Blog: OpenAI Canvas Yeni Yapay Zeka Destekli Yazma ve Kodlama Asistanınız
logo logo
  • Çözümlerimiz
    • Self Servis Teknolojiler
    • Mobil Teknolojiler
    • Web Teknolojileri
  • Başarı Hikayeleri
  • Değerlerimiz
  • Blog
  • İletişim
  • İnsan Kaynakları Yönetimi
  • Argenova
  • Yazılım Geliştirme
  • Girişimcilik
  • Proje Yönetimi
  • Müşteri Hizmetleri
  • Teknoloji

Jenkins Nedir? (Detaylı Anlatım)

Caner BULUT
Caner BULUT 22 Temmuz 2021

Sürekli Entegrasyon (CI), DevOps'un çeşitli DevOps aşamalarını entegre etmek için kullanılan en önemli parçasıdır.

Jenkins, neredeyse tüm dil kombinasyonları ve kaynak kod havuzları için sürekli bir entegrasyon ve sürekli teslim ortamı kurmanın basit bir yolunu sunar.

Jenkins Nedir?

Jenkins Nedir

Jenkins, sürekli entegrasyon (CI) sürecini otomatik bir şekilde gerçekleştirmek için bir eylemler zincirini düzenlemek için Java'da yazılmış, açık kaynaklı bir Sürekli Entegrasyon sunucusudur.
 

Jenkins, yazılımın oluşturulmasından, test edilmesinden, belgelenmesinden, devreye alınmasından ve yazılım geliştirme yaşam döngüsünün diğer aşamalarından itibaren yazılımın tüm geliştirme yaşam döngüsünü destekler.

Jenkins, 300 bin civarında kurulumu olan ve her geçen gün büyüyen dünya çapında yaygın olarak kullanılan bir uygulamadır.

Jenkins, derlemeyi ve testi hızlı bir şekilde otomatikleştirebildiğinden, yazılım şirketleri Jenkins'i kullanarak yazılım geliştirme süreçlerini hızlandırabilirler.

Sunucu tabanlı bir uygulamadır ve Apache Tomcat gibi bir web sunucusu gerektirir. 

Jenkins yazılımının bu kadar popüler olmasının nedeni, bir projenin geliştirilmesi sırasında ortaya çıkan tekrarlanan görevleri izlemesidir.

Örneğin, ekibiniz bir proje geliştiriyorsa, Jenkins proje yapılarınızı sürekli olarak test edecek ve geliştirmenizin erken aşamalarında size hataları gösterecektir.

Jenkins Tarihçesi

Jenkins projesi, 2004 yılında Kohsuke Kawaguchi tarafından Sun Microsystems için çalışırken başlatıldı (başlangıçta Hudson olarak adlandırılıyordu).

Kohsuke, Sun'da bir geliştiriciydi ve kodu yapıyı her bozduğunda ekibinin gazabına uğramaktan bıkmıştı.

Jenkins'i sürekli entegrasyon gerçekleştirmenin bir yolu olarak geliştirdi - yeni kodunu commit etmeden önce eski kodunu test ederek herseyini yolunda olduğundan emin olmak istiyordu.

Takım arkadaşları onun ne yaptığını görünce, hepsi Jenkins'i kullanmak istedi. Kohsuke bunu açık kaynaklı hale getirerek Jenkins projesini yarattı ve kısa süre sonra Jenkins kullanımı dünyaya yayıldı.

Sürekli Entegrasyon (Continuous Integration, CI) Nedir?

Sürekli Entegrasyon

Sürekli Entegrasyon, birden çok geliştiriciden gelen kod değişikliklerini tek bir projede birçok kez entegre etme sürecidir. Yazılım, bir kod işlendikten hemen sonra test edilir.

Her kod commiti ile kod oluşturulur ve test edilir. Test geçilirse yapı, dağıtım için test edilir. Dağıtım başarılı olursa, kod canlıya gönderilir.

Bu commit, build, test etme ve deploy sürekli bir süreçtir ve bu nedenle sürekli entegrasyon/dağıtım adı verilir.

CI/CD süreçleri ile ilgili daha detaylı bilgi almak için CI/CD Nedir isimli yazımızı inceleyebilirsiniz.

Jenkins Kullanmanın Avantajları

  • Jenkins, çok açık olan topluluk tarafından yönetiliyor. Her ay halka açık toplantılar düzenlerler ve Jenkins projesinin geliştirilmesi için halktan girdiler alırlar.
  • Şimdiye kadar yaklaşık 280 bilet kapatıldı ve proje her üç ayda bir kararlı sürüm yayınlıyor.
  • Teknoloji büyüdükçe Jenkins de büyüyor. Şimdiye kadar Jenkins'in eklenti veritabanında yayınlanan yaklaşık 320 eklentisi var. Eklentiler sayesinde Jenkins daha da güçlü ve zengin özelliklere sahip olmaktadır.
  • Jenkins aracı, bulut tabanlı platformlarda Jenkins'i dağıtabilmeniz için bulut tabanlı mimariyi de destekler.
  • Jenkins'in popüler olmasının nedeni, geliştiriciler için bir geliştirici tarafından oluşturulmuş olmasıdır.
  • Büyük topluluk desteğine sahip açık kaynaklı bir araçtır.
  • Ücretsizdir.
  • Java ile oluşturulmuştur ve bu nedenle tüm büyük platformlara taşınabilir.

Jenkins Kullanmanın Dezavantajları

Jenkins çok güçlü bir araç olmasına rağmen, zorluklarıda vardır.

  • Arayüzü güncel değil ve mevcut UI trendlerine kıyasla kullanıcı dostu değildir.
  • Jenkins birçok geliştirici tarafından sevilse de, bakımı o kadar kolay değil çünkü Jenkins bir sunucu üzerinde çalışıyor ve etkinliğini izlemek için sunucu yöneticisi olarak bazı beceriler gerektirir.
  • Birçok insanın Jenkins'i uygulamamasının nedenlerinden biri, Jenkins'i kurma ve yapılandırmadaki zorluğundan kaynaklanmaktadır.
  • Bazı küçük ayar değişiklikleri nedeniyle sürekli entegrasyonlar düzenli olarak bozulabilmektedir. Buda özel bir ilgi gerektirir.

Sonuç Olarak

Genel olarak, Jenkins, bir dizi başka rutin geliştirme görevini otomatikleştirmenin yanı sıra, ardışık düzenleri kullanarak hemen hemen her türlü dil ve kaynak kod deposu kombinasyonu için bir CI/CD ortamı kurmanın basit bir yolunu sunar.

DevOps Jenkins


Caner BULUT

Caner BULUT

Caner Bulut, Argenova'nın Kurucusu ve CEO'sudur. Yazılım geliştirme ve ürün geliştirme alanlarında deneyimlidir. Birçok başarılı projeye imza atmıştır ve teknoloji ekosistemine bilgi paylaşımıyla katkı sağlamaktan keyif almaktadır. Yoğun programına rağmen yeni bilgileri paylaşmak ve öğrenmek, ona büyük bir motivasyon kaynağı olmaktadır.

Argenova

Yenilikçi ve girişimci ruhumuz ile hareket ediyor, her işimizi değerlerimiz ışığında en doğru şekilde yapıyoruz.

Web Teknolojileri
  • Kurumsal Web Tasarım
  • E-Ticaret
  • Web Uygulamaları
  • Seo
  • Dijital Pazarlama
  • Sunucu ve Barındırma
  • Teknik Destek ve Bakım
Mobil Teknolojiler
  • IOS Uygulama Geliştirme
  • Android Uygulama Geliştirme
  • Bakım ve Teknik Destek
Self-Servis Teknolojiler
  • Ziyaretçi Yönetim Sistemi
  • Anket ve Eğitim Sistemleri
  • Toplantı Odası Bilgilendirme Ekranı
  • Multitouch Uygulamalar
  • Digital Signage
  • İnteraktif Stand Çözümleri
  • Özel Kiosk Çözümleri
  • Temizlik Kontrol Sistemi
Argenova
  • Hakkımızda
  • Blog
  • İletişim

Copyright © 2025. Argenova Teknoloji. All rights reserved.