Jenkins Nedir?
Jenkins, bünyesinde bulundurduğu eklentiler ile “Sürekli Entegrasyon” gerçekleştirmeye yardımcı olan, açık kaynaklı bir otomasyon sunucusudur. Continuous Integration yani Sürekli Entegrasyon yöntemi için kullanılan Jenkins, Java tabanlıdır ve kullanımı ücretsizdir.
Yazılım geliştirme süreçlerindeki build, test ve deploy gibi işlemleri otomatize etmeye yarar. Bu da geliştiricilerin değişiklikleri projeye entegre etmesini kolaylaştırır ve yazılım geliştirme sürecini hızlandırır.
Jenkins, derleme, belgeleme, test etme, paketleme, devreye alma ve statik analiz gibi geliştirme yaşam döngüsü sürecini otomatize eder. Yazılımın oluşturulmasından, test edilmesine kadar tüm geliştirme yaşam döngüsünü destekler. Ayrıca çeşitli DevOps aşamalarının entegrasyonuna izin verir
Jenkins, tüm bu aşamaları otomatize ettiğinden dolayı, dünyanın önde gelen teknoloji şirketleri tarafından kullanılmakta ve her geçen gün kullanımı daha da artmakta.
Jenkins Nasıl Çalışır?
Jenkins, belirli bir sunucu üzerinde çalışır. Önceden belirlenen kaynaktan projeye ulaşır ve istenen işlemleri yerine getirir. Daha sonra düzenlediği işlemleri test eder. Bu aşamalarda sorun yok ise Sürekli Teslimat (CD: Continious Delivery) yani deploy işlemini yerine getirir. Jenkins eğer build veya test aşamasında herhangi bir hata ile karşılaşırsa deploy işlemini gerçekleştirmez ve geliştiriciyi bilgilendirir. Bu süreç sürekli olarak tekrar eder. Bu sayede süreç otomatize hale gelmiş olur. Bu işlemler istenildiği takdirde belirli bir aralıkta ve belirli bir koşula bağlı olarak gerçekleştirilebilir.
Proje sürekli olarak test edildiği için hatalar hemen tespit edilir. Tespit edilen hatalar hemen düzeltilmeye çalışılır. Bu sayede hata oranı minimum düzeye inmiş olur. Ayrıca bu süreçleri manuel olarak yaparken karşılaşılan tüm aksaklık ve iletişim eksiklikleri Jenkins sayesinde en aza iner.
Jenkins Hangi İşletim Sistemlerinde Çalışır?
Jenkins, Windows, Linux, Unix ve macOS bilgisayarlarda sorunsuz bir şekilde çalışır. Jenkins'in çevrimiçi arayüzü, kurulumu ve yapılandırımayı kolaylaştırır.
Jenkins Nasıl İndirilir?
Jenkins’i indirmek ve kurmak çok basittir. Buradan Jenkins’i indirebilirsiniz. İndirme işlemi sırasında karşınıza gelen stabil veya son sürümdümden işletim sisteminize uygun paketi bilgisayarınıza kurabilirsiniz.
Jenkins’in Avantajları Nelerdir?
- Açık kaynaklı ve ücretsizdir. Geliştiriciler bu sayede Jenkins’i istedikleri gibi kullanır.
- Kurulumu oldukça basit ve anlaşılırdır.
- Büyük bir topluluğu vardır. Böylece geliştiriciler takıldıkları bir konuda bu büyük topluluktan yardım alabilir.
- Tüm büyük platformlara kolaylıkla taşınır.
- Jenkins herhangi bir projeyi oluşturmayı, dağıtmayı ve otomatikleştirmeyi desteklemek için yüzlerce eklenti sağlar. 300’den fazla eklentisi bulunur. Bu eklentiler Jenkins’in daha zengin özelliklere sahip olmasını sağlar.
- Jenkins, eklentileri aracılığıyla genişletilebilir. Böylece Jenkins'in yapabilecekleri çoğaltılmış olunur.
- Bulut tabanlı mimariyi destekler.
- Otomatik test etme, derleme gibi özellikleri geliştiricinin zamandan tasarruf etmesini sağlar.
- Tüm hataları kolayca test eder.
- Jenkins, işleri birden çok makineye kolayca dağıtabilir. Birden çok platformda daha hızlı derleme, test ve dağıtım yapılmasına yardımcı olur.
Jenkins Güvenliği
Jenkins, sunucuyu ve kullanıcıyı güvence altına alır. Sunucu güvenliği, diğer sunucuların da güvence altına alındığı bir şekilde sağlanır.
Jenkins genel olarak “Güvenlik Alanı” ve “Yetkilendirme Alanı” olmak üzere iki güvenlik alanını destekler. Güvenlik alanı, bir operatörün Jenkins'e kimin erişebileceğine karar verir. Yetkilendirme alanı ise bu erişimle ne yapıp, ne yapamayacaklarını belirler.
Jenkins ayrıca Jenkins Web UI aracılığıyla, dahili kullanıcı veritabanın güvenliğini de destekler