Jenkins Kavramları

Mustafa YALÇIN
FLO Teknoloji

--

Jenkins, açık kaynaklı bir sürekli entegrasyon ve sürekli dağıtım (CI/CD) aracıdır. Yazılım projelerinin sürekli olarak geliştirilmesi ve test edilmesi süreçlerini otomatikleştirmek için kullanılır.

Jenkins üzerinden PagerDuty alarmı oluşturabilirsiniz. Böylece Jenkins job’larındaki hatalar veya belirli senaryolar tetiklendiğinde PagerDuty tarafından alarm alabilir ve ekip üyeleri hızlı bir şekilde yanıt verebilir.

Kısaca Jenkins kavramlarına değinelim:

Job (İş): Jenkins’te, bir projenin otomatik olarak gerçekleştirilen işlemlerini temsil eden temel bir yapıdır. Bir job, genellikle bir yazılım projesinin derlenmesi, test edilmesi, paketlenmesi ve dağıtılması gibi süreçleri içerir.

Build: Bir job’un çalışmasıyla gerçekleştirilen işlemi ifade eder. Bir build, kaynak kodunun derlenmesi, testlerin yürütülmesi, sonuçların oluşturulması ve gerektiğinde paketlenmesi gibi adımları içerir.

Pipeline: Jenkins’in sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerini tanımlamak için kullanılan bir betik dilidir. Pipeline, Jenkins job’larınızdaki adımları ve bağımlılıkları tanımlamanıza olanak sağlar. Yapılandırmayı kod olarak yönetmenizi ve proje süreçlerini daha esnek bir şekilde otomatikleştirmenizi sağlar.

Agent: Jenkins’in çalıştırılabilmesi için kullanılan bir işletim sistemidir. Jenkins agent’lar, Jenkins sunucusuyla iletişim kurarak job’ları gerçekleştirir. Birden fazla agent, aynı anda farklı işleri çalıştırabilme esnekliği sağlar.

Trigger (Tetikleyici): Bir job’un ne zaman çalıştırılacağını belirleyen mekanizmalardır. Örneğin, zamanlanmış bir tetikleyici belirli aralıklarla job’u çalıştırabilir veya bir kaynak kod deposunda yapılan değişiklikler otomatik olarak job’un tetiklenmesini sağlayabilir.

Plugin: Jenkins’in işlevselliğini genişletmek için kullanılan eklentilerdir. Jenkins, birçok farklı eklentiye sahiptir ve bu eklentiler sayesinde farklı teknolojilerle entegrasyon yapabilir, raporlama araçları ekleyebilir ve süreçleri özelleştirebilirsiniz.

View (Görünüm): Jenkins arayüzünde job’ları ve proje gruplarını düzenlemek ve görselleştirmek için kullanılan yapıdır. Görünümler, job’ları kategorize etmek, filtrelemek ve daha iyi bir genel bakış sağlamak için kullanılabilir.

Jenkinsfile: Jenkins job veya pipeline’ların declarative olarak hangi işlemleri yapacağının belirtildiği dosyadır.

Bu kavramlar, Jenkins’in temel yapısını ve bileşenlerini tanımlar. Jenkins’i daha iyi anlamak için bu kavramlar üzerinde çalışmak ve Jenkins’in sunduğu işlevselliği keşfetmek önemlidir.

Daha fazla bilgi ve kullanım için kaynakçayı inceleyebilirsiniz.

Kaynakça:
https://www.jenkins.io/doc/book/pipeline/

--

--