Jenkins Nedir ve Neden Kullanmalıyız?
Jenkins, yazılım geliştirme süreçlerini otomatikleştirmemizi sağlayan açık kaynaklı bir araçtır. Kod yazarken hataları en aza indirgemek, kodun her an düzgün çalıştığını test etmek ve yeni özellikleri hızlıca sunmak için kullanılır. Kısacası, Jenkins'in görevi bizim için yazılımın sürekli olarak gelişmesini sağlamak ve işleri hızlandırmaktır.
CI/CD, yazılım geliştirme sürecinin her aşamasında sürekli entegrasyon (CI) ve sürekli teslimat (CD) sağlanması anlamına gelir. Jenkins, işte bu sürecin en önemli parçalarından biridir.
Jenkins Pipeline Nedir?
Jenkins Pipeline, yazılım projelerindeki her türlü işlem zincirini tanımlar. Yani, bir projenin tüm aşamalarını – kodun derlenmesinden, testlerin yapılmasına ve uygulamanın dağıtılmasına kadar – otomatikleştirir. Bu sayede projede yapılacak her bir değişiklik anında test edilip, herhangi bir hata varsa önceden tespit edilir.
Jenkins Pipeline'ları "Declarative" ve "Scripted" olmak üzere iki farklı şekilde yazılabilir. Eğer basit bir yapı kurmak istiyorsanız, "Declarative Pipeline" kullanmanız daha kolay olacaktır.
Jenkins Pipeline Oluşturma Adımları
Şimdi, Jenkins'te basit bir pipeline nasıl oluşturulur, bunu adım adım görelim:
1. Jenkins Kurulumu ve Yapılandırması
İlk adımda Jenkins'i kurmanız gerekecek. Jenkins, Windows, Linux ve macOS üzerinde çalışabilir. Jenkins’i kurduktan sonra, web arayüzü üzerinden yönetim paneline erişebilirsiniz. Buradan pluginleri yükleyerek, Jenkins'i ihtiyaçlarınıza göre özelleştirebilirsiniz.
2. Yeni Bir Job Oluşturma
Jenkins arayüzüne giriş yaptıktan sonra, sağ üst köşede "Yeni İş" seçeneğini göreceksiniz. Buraya tıklayın ve işinize uygun bir "Pipeline" türü seçin.
3. Pipeline Kodunu Yazma
Pipeline'ınızı yazmaya başlamak için, aşağıdaki gibi bir deklaratif pipeline kodu kullanabilirsiniz:
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building...'
// Buraya build işlemi için komutlar eklenebilir
}
}
stage('Test') {
steps {
echo 'Testing...'
// Test komutları buraya eklenebilir
}
}
stage('Deploy') {
steps {
echo 'Deploying...'
// Dağıtım komutları buraya eklenebilir
}
}
}
}
4. Pipeline'ı Çalıştırma
Pipeline'ı yazdıktan sonra, kaydedip çalıştırabilirsiniz. Jenkins, her bir aşamayı sırayla çalıştırarak, yazılımınızın ne durumda olduğunu size gösterecektir. Eğer bir hata varsa, Jenkins size detaylı bir hata raporu sunar.
CI/CD Kurulumunun Faydaları
CI/CD, yazılım geliştirme süreçlerini hızlandırmanın yanı sıra, hataların erken tespitiyle yazılımın kalitesini artırır. Herhangi bir hata kod entegrasyonuna veya dağıtım aşamasına girmeden önce tespit edilir. Bu, sadece zamandan tasarruf sağlamakla kalmaz, aynı zamanda projedeki tüm ekiplerin verimli çalışmasını sağlar.
Örnek Bir CI/CD Süreci:
1. Geliştirici, yeni bir özellik üzerinde çalışır ve kodu GitHub veya GitLab gibi bir depo sistemine gönderir.
2. Jenkins, bu gönderimi algılar ve pipeline'ı başlatır.
3. Jenkins önce kodu derler, ardından test eder ve eğer her şey yolunda giderse, kodu üretim ortamına dağıtır.
4. Eğer herhangi bir hata tespit edilirse, Jenkins anında geliştiriciye bildirim gönderir.
Sonuç Olarak
Jenkins ile CI/CD sürecini kurmak, yazılım geliştirme süreçlerinizi daha verimli hale getirecektir. Bu yazıdaki adımları takip ederek Jenkins'i kurabilir ve projelerinizi otomatikleştirerek hızlıca teslim edebilirsiniz. Eğer her şey doğru yapılandırıldıysa, yazılımınızın her aşaması tamamen otomatikleşir ve insan hataları minimuma iner.
İşte böyle! Jenkins'i kurmak ve pipeline oluşturmak, başlangıçta karmaşık görünebilir, ancak adım adım takip ettiğinizde her şeyin ne kadar basit olduğunu fark edeceksiniz.