Jenkins Notları ve İpuçları
İçindekiler
- Jenkins Kurulumu
- Temel Jenkins Yapılandırması
- Jenkins İşleri
- Jenkins Pipelines
- Jenkins Eklentileri
- Jenkins Güvenliği
- Jenkins Dağıtılmış Derlemeler
- Jenkins API
- Jenkins ile Docker
- Jenkins ile Kubernetes
- Jenkins Yedekleme ve Geri Yükleme
- Jenkins İzleme
- Jenkins En İyi Uygulamalar
- Jenkins Sorun Giderme
Jenkins Kurulumu
Ubuntu'da Jenkins Kurulumu
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
CentOS'ta Jenkins Kurulumu
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins
Jenkins Servisini Başlatma
sudo systemctl start jenkins
Temel Jenkins Yapılandırması
Jenkins Web Arayüzüne Erişim
Bir web tarayıcısı açın ve http://localhost:8080
adresine gidin.
İlk Yönetici Şifresini Alın
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Jenkins'i Web Arayüzü Üzerinden Yapılandırma
- Önerilen eklentileri yükleyin
- İlk yönetici kullanıcısını oluşturun
- Örnek URL'sini yapılandırın
Jenkins İşleri
Yeni Bir İş Oluşturma
- Jenkins panosunda "Yeni Öğe"ye tıklayın
- İş için bir ad girin
- İş türünü seçin (örneğin, Freestyle proje, Pipeline)
- İş ayarlarını yapılandırın
- "Kaydet"e tıklayın
Kaynak Kodu Yönetimini Yapılandırma
- İş yapılandırmasında, "Kaynak Kodu Yönetimi" bölümüne gidin
- SCM'nizi seçin (örneğin, Git, Subversion)
- Depo URL'sini ve kimlik bilgilerini girin
Derleme Tetikleyicilerini Yapılandırma
- İş yapılandırmasında, "Derleme Tetikleyicileri" bölümüne gidin
- Tetikleyici türünü seçin (örneğin, SCM sorgulama, webhook)
Derleme Adımlarını Yapılandırma
- İş yapılandırmasında, "Derleme" bölümüne gidin
- Derleme adımları ekleyin (örneğin, Shell çalıştır, Gradle betiğini çağır)
Derleme Sonrası Eylemleri Yapılandırma
- İş yapılandırmasında, "Derleme Sonrası Eylemler" bölümüne gidin
- Eylemler ekleyin (örneğin, JUnit test sonuçlarını yayınla, belgeleri arşivle)
Jenkins Pipelines
Bir Jenkinsfile Oluşturma
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'echo "Uygulama derleniyor"'
}
}
stage('Test') {
steps {
sh 'echo "Testler çalıştırılıyor"'
}
}
stage('Deploy') {
steps {
sh 'echo "Uygulama dağıtılıyor"'
}
}
}
}
Bir Pipeline İşini Oluşturma
- Jenkins panosunda "Yeni Öğe"ye tıklayın
- İş için bir ad girin
- İş türü olarak "Pipeline"ı seçin
- "Pipeline" bölümünde, "SCM'den Pipeline betiği"ni seçin
- SCM ayarlarını ve Jenkinsfile yolunu yapılandırın
Bir Pipeline İşini Çalıştırma
- Pipeline iş sayfasına gidin
- "Şimdi Derle"ye tıklayın
Jenkins Eklentileri
Bir Eklenti Yükleme
- "Jenkins'i Yönet" > "Eklentileri Yönet"e gidin
- "Mevcut" sekmesine gidin
- Eklentiyi arayın
- Eklentiyi seçin ve "Yeniden Başlatmadan Yükle"ye tıklayın
Eklentileri Güncelleme
- "Jenkins'i Yönet" > "Eklentileri Yönet"e gidin
- "Güncellemeler" sekmesine gidin
- Güncellenmesi gereken eklentileri seçin
- "Şimdi İndir ve Yeniden Başlatmadan Yükle"ye tıklayın
Bir Eklentiyi Kaldırma
- "Jenkins'i Yönet" > "Eklentileri Yönet"e gidin
- "Yüklü" sekmesine gidin
- Kaldırmak istediğiniz eklentiyi seçin
- "Kaldır"a tıklayın
Jenkins Güvenliği
Global Güvenliği Yapılandırma
- "Jenkins'i Yönet" > "Global Güvenliği Yapılandır"e gidin
- Güvenliği etkinleştirin
- Güvenlik alanını seçin (örneğin, Jenkins'in kendi kullanıcı veritabanı)
- Yetkilendirme stratejisini seçin (örneğin, Matris tabanlı güvenlik)
Yeni Bir Kullanıcı Oluşturma
- "Jenkins'i Yönet" > "Kullanıcıları Yönet"e gidin
- "Kullanıcı Oluştur"a tıklayın
- Kullanıcı bilgilerini doldurun ve "Kullanıcı Oluştur" butonuna tıklayın
Proje Bazlı Güvenliği Yapılandırma
- İş yapılandırmasında, "Genel" bölümüne gidin
- "Proje bazlı güvenliği etkinleştir"i etkinleştirin
- Kullanıcılar/gruplar için izinleri yapılandırın
Jenkins Dağıtılmış Derlemeler
Yeni Bir Düğüm Ekleme
- "Jenkins'i Yönet" > "Düğümleri ve Bulutları Yönet"e gidin
- "Yeni Düğüm"e tıklayın
- Düğüm adını girin ve türü seçin (örneğin, Kalıcı Ajan)
- Düğüm ayarlarını yapılandırın (örneğin, yürütücü sayısı, uzak kök dizin)
Düğüm Başlatma Yöntemini Yapılandırma
- Düğüm yapılandırmasında, "Başlatma yöntemi" bölümüne gidin
- Başlatma yöntemini seçin (örneğin, SSH üzerinden ajan başlat)
- Başlatma yöntemi ayarlarını yapılandırın
Düğümü Bağlama
- Düğüm sayfasına gidin
- Düğümü bağlamak için talimatları izleyin
Jenkins API
Jenkins Sürümünü Öğrenme
curl -s http://localhost:8080/api/json?tree=version
Tüm İşleri Listeleme
curl -s http://localhost:8080/api/json?tree=jobs[name,url]
Bir Derlemeyi Başlatma
curl -X POST http://localhost:8080/job/İŞ_ADI/build --user KULLANICI:API_TOKEN
Derleme Bilgilerini Alma
curl -s http://localhost:8080/job/İŞ_ADI/DERLEME_NUMARASI/api/json
Jenkins ile Docker
Jenkins Docker İmajını Oluşturma
FROM jenkins/jenkins:lts
USER root
RUN apt-get update && apt-get install -y docker.io
USER jenkins
Docker ile Jenkins'i Çalıştırma
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --privileged jenkins-docker
Jenkins ile Kubernetes
Jenkins ile Kubernetes Bağlantısını Yapılandırma
- Kubernetes eklentisini yükleyin
- "Kubernetes" yapılandırmasını açın
- Kubernetes küme bilgilerini girin
- "Yükleyici Podları" yapılandırın
Pipeline'da Kubernetes Kullanma
pipeline {
agent {
kubernetes {
label 'jenkins-agent'
defaultContainer 'jnlp'
}
}
stages {
stage('Build') {
steps {
container('maven') {
sh 'mvn clean install'
}
}
}
}
}
Jenkins Yedekleme ve Geri Yükleme
Jenkins Yapılandırma Yedeğini Alma
sudo cp -r /var/lib/jenkins /path/to/backup/location
Jenkins Yedeğini Geri Yükleme
sudo cp -r /path/to/backup/location/jenkins /var/lib/jenkins
Jenkins İzleme
Jenkins İzleme Araçları
- Jenkins İzleme Eklentilerini yükleyin (örneğin, Monitoring, Prometheus)
- İzleme verilerini toplamak ve görüntülemek için yapılandırma yapın
- Jenkins "Performans" sayfasına gidin
- Performans metriklerini izleyin
Jenkins En İyi Uygulamalar
- İşlerinizi düzenli olarak temizleyin
- Jenkins'i güncel tutun
- Eklentileri dikkatli seçin
- Güvenliği ön planda tutun
- Yedekleme ve izleme stratejileri oluşturun
Jenkins Sorun Giderme
Yaygın Sorunlar ve Çözümler
- İşler Başlamıyor: SCM ayarlarınızı kontrol edin, ağ bağlantısını ve gerekli izinleri doğrulayın.
- Performans Sorunları: Bellek ve CPU kullanımını kontrol edin, gerekiyorsa donanımı veya yapılandırmayı gözden geçirin.
- Eklenti Sorunları: Eklentiyi güncelleyin veya yeniden yükleyin, uyumluluk sorunlarını kontrol edin.
Logları İnceleme
Jenkins loglarını görmek için:
sudo tail -f /var/log/jenkins/jenkins.log