Ubuntu 22.04 Jenkins CI Pipeline Kurulumu
Ubuntu 22.04 Üzerinde Jenkins ile Pipeline Kurulumu
Yazılım geliştirmede hız ve güven kritik.
Bu rehberde,
oaicite:0
ile**
oaicite:1
**entegrasyonu kurarak,
her kod gönderiminde otomatik test çalışan modern bir CI pipeline oluşturacağız.
Testler
oaicite:2
konteynerleri içinde çalışır.
Bu Rehberde Ne Öğreneceksiniz?
- Jenkins’i Docker çalıştırabilecek şekilde yapılandırmayı
- GitHub ile Jenkins arasında güvenli Token & Webhook bağlantısı kurmayı
- Jenkinsfile ile kod tabanlı CI senaryosu yazmayı
- Push ile otomatik tetiklenen CI hattını devreye almayı
Teknik Özet
Konu: Jenkins ile Sürekli Entegrasyon (CI)
Problem: Manuel test ve derleme süreçleri
Çözüm: GitHub push olaylarıyla tetiklenen, Docker izole test hattı
Bu yapı:
- Daha hızlı geri bildirim sağlar
- Hataları erken yakalar
- Geliştirme kalitesini artırır
Ön Hazırlıklar
Başlamadan önce şunlar hazır olmalı:
-
**
oaicite:3
22.04** yüklü sunucu
-
En az 1 GB RAM
-
Jenkins, Nginx ve Docker kurulu
-
Jenkins için atanmış bir domain (örn:
ci.ornek.com) -
GitHub hesabı ve örnek bir proje
Adım 1: Jenkins Kullanıcısına Docker Yetkisi Verme
Jenkins’in Docker kullanabilmesi için yetki vermeliyiz.
sudo usermod -aG docker jenkins
- Bu komut Jenkins kullanıcısını docker grubuna ekler.
Kontrol edin:
grep docker /etc/group
- Değişikliğin aktif olması için Jenkins’i yeniden başlatın:
sudo systemctl restart jenkins
Not: Manage Jenkins → Manage Plugins yolundan
- Docker ve Docker Pipeline eklentilerinin yüklü olduğundan emin olun.
Adım 2: GitHub Personal Access Token (PAT) Oluşturma
- Jenkins’in GitHub’ı izleyebilmesi için bir token gerekir.
- GitHub’da:
Settings → Developer settings → Personal access tokens
Generate new token
- Yetkiler:
-
repo:status
-
repo:public_repo (private repo için repo)
-
admin:org_hook
- Token’ı oluşturur oluşturmaz kopyalayın. Sonra görünmez.
Adım 3: Token’ı Jenkins’e Tanımlama
- Jenkins panelinde:
-
Sağ üstten kullanıcı adına tıklayın
-
Credentials → (global) → Add Credentials
Ayarlar:
Kind: Secret text
Secret: GitHub token
Description: GitHub CI Token
- Ardından:
Manage Jenkins → Configure System → GitHub
-
Token’ı seçin
-
Test connection deyin
-
Başarılıysa Save
Adım 4: Örnek Proje ve Jenkinsfile
- Test için örnek bir Node.js projesi kullanabilirsiniz:
https://github.com/content-demo/hello-hapi
- Repo kök dizininde Jenkinsfile bulunur:
pipeline {
agent {
docker {
image 'node'
args '-u root'
}
}
stages {
stage('Derleme') {
steps {
sh 'npm install'
}
}
stage('Test') {
steps {
sh 'npm test'
}
}
}
}
- Bu pipeline:
Node Docker imajı başlatır
-
Bağımlılıkları kurar
-
Testleri çalıştırır
Adım 5: Jenkins Pipeline Oluşturma
- Jenkins ana ekranda:
- New Item
İsim ver (örn: NodeJS-CI-Test)
- Pipeline seç → OK
Ayarlar:
-
GitHub project: Repo URL
-
Build Triggers: GitHub hook trigger
-
Pipeline: Pipeline script from SCM
-
SCM: Git
-
Script Path: Jenkinsfile
-
Save ile çıkın.
Adım 6: İlk Build ve Webhook Oluşturma
-
Webhook’un otomatik oluşması için ilk build gerekir.
-
Build Now butonuna basın
-
Build tamamlanınca Configure → Save yapın
-
GitHub → Settings → Webhooks bölümünde Jenkins görünmelidir.
Test
-
Repo’da küçük bir değişiklik yapıp commit atın.
-
Jenkins otomatik build başlatır
Sıkça Sorulan Sorular (SSS)
-
Neden Docker kullanıyoruz? Test ortamı izole olur, bağımlılık çakışmaz.
-
Webhook oluşmazsa ne yapmalıyım? GitHub’dan manuel ekleyebilirsiniz.
-
Jenkinsfile zorunlu mu? Pipeline from SCM için evet.
-
Private repo desteklenir mi? Evet, token yeterlidir.
Sonuç
Bu rehberle:
Jenkins + GitHub entegrasyonu kurdunuz Docker içinde otomatik test hattı oluşturdunuz Modern bir CI sürecini canlıya aldınız
Bu yapıyı stabil ve güçlü bir ortamda çalıştırmak için GenixNode VDS altyapısını gönül rahatlığıyla kullanabilirsiniz

