Bir zamanlar, küçük bir yazılım geliştirme ekibi olarak her şeyin manuel yapıldığını hayal edin. Kod yazılıyor, test ediliyor ve ardından dağıtılıyor… Ama her şey elle! Süreçler yavaş, hatalar sık ve işler giderek karmaşıklaşıyor. Ancak, tam da bu noktada Jenkins gibi otomasyon araçları devreye giriyor.
Jenkins, yazılım geliştirme sürecinizi kolaylaştıran ve hızlandıran, açık kaynaklı bir sürekli entegrasyon ve sürekli dağıtım (CI/CD) aracıdır. Peki, Jenkins'i Linux sisteminizde nasıl kurarsınız ve kullanırsınız? Gelin, adım adım bir yolculuğa çıkalım.
Jenkins Nedir?
Jenkins, sürekli entegrasyon (CI) ve sürekli dağıtım (CD) süreçlerini otomatize etmek için kullanılan açık kaynaklı bir yazılımdır. Kod yazıldıkça, test edilmesi ve ardından dağıtılması gerekir. Jenkins, bu süreci tamamen otomatik hale getirir. Yani, her şeyin daha hızlı ve hatasız yapılmasını sağlar.
Jenkins’in en güzel yanı ise, her kod değişikliğini hemen test edebilmeniz ve dağıtılmaya hazır hale getirebilmenizdir. Bu, yazılım geliştirme sürecini oldukça hızlandırır ve hata payını minimuma indirir.
Jenkins'i Linux'ta Kurma
Şimdi, Jenkins'i Linux sunucunuzda nasıl kuracağınızı adım adım inceleyelim.
# Adım 1: Java'yı Yükleyin
Jenkins, Java ile çalışır, bu yüzden ilk adımımız Java'nın yüklü olduğundan emin olmaktır. Eğer Java'yı yüklemediyseniz, terminal üzerinden aşağıdaki komutla yükleyebilirsiniz:
sudo apt update
sudo apt install openjdk-11-jdk
Java'nın doğru bir şekilde yüklendiğinden emin olmak için şu komutu çalıştırabilirsiniz:
java -version
# Adım 2: Jenkins'i Yükleyin
Jenkins'i yüklemek için önce gerekli paketleri ekleyelim. Aşağıdaki komutları kullanarak Jenkins'i yükleyebilirsiniz:
wget -q -O - https://pkg.jenkins.io/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian/ stable main > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
Bu komutlar, Jenkins'i Debian tabanlı bir dağıtımda yüklemek için gerekli işlemleri yapacaktır.
# Adım 3: Jenkins'i Başlatın
Jenkins'i başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start jenkins
Jenkins’in otomatik olarak her yeniden başlatıldığında çalışması için şu komutu girin:
sudo systemctl enable jenkins
# Adım 4: Jenkins'e Erişim Sağlayın
Jenkins kurulumunun ardından, web tarayıcınızdan `http://
:8080` adresine giderek Jenkins'in yönetim paneline erişebilirsiniz. İlk defa giriş yaptığınızda, Jenkins sizden bir "unlock key" isteyecektir. Bu anahtarı almak için aşağıdaki komutu kullanarak terminal üzerinden bulabilirsiniz:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Bu anahtar, Jenkins'i ilk kez başlatırken gerekli olan yönetici şifresidir. Şifrenizi girdikten sonra, Jenkins yönetici paneline erişebilirsiniz.
Jenkins ile İlk CI/CD Pipeline'ınızı Oluşturun
Artık Jenkins'i kurduğumuza göre, gelin ilk CI/CD pipeline'ımızı oluşturalım.
# Adım 1: Yeni Bir Job (İş) Oluşturun
Jenkins panelinde “Yeni Job” (New Item) seçeneğine tıklayın. Burada, "Freestyle Project" seçeneğini seçin. Ardından projeyi adlandırın ve “OK” tuşuna basın.
# Adım 2: Kod Deposu Konfigürasyonu
Projenin yapılandırma ekranında, kaynak kodunuzu çekmek için Git gibi bir versiyon kontrol sistemi kullanabilirsiniz. GitHub gibi bir platformdan kaynak kodu alabilmek için şu adımları takip edin:
- "Source Code Management" kısmına gelin.
- "Git" seçeneğini seçin ve Git reposunun URL’sini girin.
# Adım 3: Build (Yapı) Yapma
Build sekmesine gelin ve "Build" alanına bir komut ekleyin. Örneğin, bir Java projesi için Maven komutunu kullanabilirsiniz:
mvn clean install
Bu komut, Jenkins’in her kod değişikliğinde Maven aracılığıyla projeyi derlemesini sağlar.
# Adım 4: Post-Build (Sonrası İşlemler)
İsterseniz Jenkins, başarılı bir build işlemi sonrası dağıtım işlemi yapabilir. Örneğin, Docker imajı oluşturup bunu bir Docker registry'ye gönderebilirsiniz.
docker build -t my-app .
docker push my-app
# Adım 5: Pipeline’ı Çalıştırma
Tüm ayarları tamamladıktan sonra, pipeline'ınızı çalıştırabilirsiniz. “Build Now” butonuna tıklayın ve Jenkins’in kodu derlemesini ve dağıtmasını izleyin.
Jenkins ile Sürekli Entegrasyon ve Dağıtım
CI/CD süreçlerini Jenkins ile kurmak, yazılım geliştirme sürecinizi büyük ölçüde kolaylaştırır. Kod yazarken sürekli olarak testler yapılır ve kodun dağıtılması gerektiğinde her şey otomatik olarak halledilir. Bu sayede zaman kazancı sağlanır, hatalar azalır ve ekip daha verimli çalışır.
Sonuç
Jenkins, yazılım geliştirme süreçlerinizi daha hızlı, verimli ve güvenilir hale getirebilir. Linux üzerinde Jenkins’i kurarak, sürekli entegrasyon ve sürekli dağıtım süreçlerinizi otomatikleştirebilir ve projelerinizin her zaman dağıtıma hazır olmasını sağlayabilirsiniz.
Jenkins’i kurmak ve yapılandırmak aslında oldukça basit. Başlangıçta zor gibi görünebilir, ancak birkaç adımda kolayca kurulum yapabilir ve projelerinizi yönetebilirsiniz. Sürekli entegrasyon ve dağıtım konusunda Jenkins’in gücünden faydalanın, yazılım geliştirme sürecinizde devrim yaratın.