Jenkins Nedir ve Neden Kullanılır?
Jenkins, açık kaynaklı bir otomasyon sunucusudur. Yazılım geliştirme süreçlerinizi otomatikleştirmenize yardımcı olur. CI/CD'nin altını çizen en önemli noktalar, kodun sürekli olarak entegre edilmesi ve en güncel sürümün dağıtılmasının sağlanmasıdır. Jenkins, bu süreçlerin her birini kolayca yönetmenizi sağlar.
Jenkins'i Linux'ta Nasıl Kurarız?
Jenkins kurulumu oldukça basittir, ancak adım adım gitmekte fayda var. Aşağıda, Jenkins'i Linux'ta kurmanın tüm detaylarını bulabilirsiniz:
1. Java Kurulumu
Jenkins, Java ile çalışır, bu yüzden öncelikle Java'nın kurulu olması gerekir. Eğer sisteminizde Java yoksa, terminali açarak şu komutla Java'yı yükleyebilirsiniz:
sudo apt update
sudo apt install openjdk-11-jdk
2. Jenkins Depolarını Ekleme
Jenkins'in en güncel sürümünü almak için öncelikle Jenkins depolarını sisteme eklemelisiniz. Aşağıdaki komutları sırasıyla çalıştırarak bunu yapabilirsiniz:
wget -q -O - https://pkg.jenkins.io/keys/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'
3. Jenkins'i Yükleme
Depoları ekledikten sonra, Jenkins'i yüklemek için şu komutu çalıştırmanız yeterli:
sudo apt update
sudo apt install jenkins
4. Jenkins'i Başlatma
Jenkins yüklendikten sonra, servisi başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start jenkins
Jenkins’in otomatik olarak başlamasını istiyorsanız şu komutla servisi etkinleştirebilirsiniz:
sudo systemctl enable jenkins
5. Jenkins Web Arayüzüne Erişim
Kurulum tamamlandığında, Jenkins web arayüzüne tarayıcınız üzerinden şu adresle ulaşabilirsiniz:
http://localhost:8080
İlk kez giriş yaptığınızda, size özel bir şifre istenecektir. Bu şifreyi terminal üzerinden şu komutla bulabilirsiniz:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
6. İlk Yapılandırma ve Plugin Kurulumu
Jenkins'in ilk başlatılmasında, size birkaç plugin yükleme seçeneği sunulacak. Hızlıca "Install suggested plugins" seçeneğiyle devam edebilirsiniz. Bu, en yaygın kullanılan plugin'leri yükleyecektir.
CI/CD Pipeline Oluşturma
Artık Jenkins kurulumunu tamamladığımıza göre, asıl amacımız olan CI/CD pipeline'ımızı oluşturmaya geçebiliriz.
1. Yeni Bir Job Oluşturma
Jenkins'i açtıktan sonra, ana ekranda "New Item" seçeneğine tıklayın. Burada bir proje adı girin ve "Freestyle Project"i seçin. Bu, en basit Jenkins projesini oluşturmanıza olanak tanır.
2. Kaynağı Belirtme
Kaynak kontrol sistemi olarak Git kullanıyorsanız, "Source Code Management" kısmına gelin ve Git'i seçin. Git deposu URL'nizi buraya ekleyin.
3. Yapılandırma ve Komutları Yazma
"Build" kısmında, projenizin hangi komutlarla çalışacağını belirtmeniz gerekir. Burada, örneğin bir Node.js projesi için şu komutu yazabilirsiniz:
npm install && npm test
Bu komutlar, bağımlılıkları yükleyecek ve testlerinizi çalıştıracaktır.
4. Dağıtım Yapma
Son olarak, Jenkins'i kullanarak uygulamanızı dağıtmak için bir dağıtım adımı ekleyebilirsiniz. Örneğin, bir Docker container'ı çalıştırmak için şu komutları ekleyebilirsiniz:
docker build -t myapp .
docker run -d -p 80:80 myapp
5. Pipeline Oluşturma
Daha karmaşık ve otomatikleştirilmiş işlemler için Jenkins Pipeline kullanabilirsiniz. Jenkinsfile adı verilen bir dosya ile yapılandırmalarınızı versiyonlayabilirsiniz. Basit bir pipeline örneği şu şekilde olabilir:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'npm install'
}
}
stage('Test') {
steps {
sh 'npm test'
}
}
stage('Deploy') {
steps {
sh 'docker build -t myapp .'
sh 'docker run -d -p 80:80 myapp'
}
}
}
}
CI/CD Süreçlerini Otomatikleştirmek
Jenkins’in asıl gücü, her yeni kod gönderildiğinde (push) otomatik olarak çalışabilmesidir. Bunun için GitHub veya GitLab gibi platformlardan webhook’lar ekleyerek, her commit sonrası Jenkins’in tetiklenmesini sağlayabilirsiniz. Böylece CI/CD süreciniz tamamen otomatik hale gelir!
Sonuç
Jenkins, CI/CD süreçlerini kolaylaştırarak yazılım geliştirme hayatınızı ciddi şekilde iyileştirebilir. Bu yazıda, Jenkins’i Linux üzerinde nasıl kurduğumuzu ve ilk CI/CD pipeline’ımızı nasıl oluşturduğumuzu inceledik. Eğer projelerinizi daha verimli hale getirmek ve hatasız bir dağıtım süreci oluşturmak istiyorsanız, Jenkins tam size göre!