Jenkins

Sağlayan: Jenkins

DevOpsOtomasyonCI/CD
Oluştur: Jenkins

Saniyeler içinde Cloud Sunucunuza kurulur.

Jenkins, yazılım geliştirme süreçlerini otomatikleştiren (Sürekli Entegrasyon ve Sürekli Dağıtım - CI/CD), dünya genelinde milyonlarca geliştirici tarafından kullanılan açık kaynaklı lider bir otomasyon sunucusudur.

Öne Çıkan Özellikler ve Avantajlar

  • Kusursuz Otomasyon (CI/CD): Geliştiriciler kodlarını GitHub veya GitLab'a gönderdiği (push) anda, Jenkins otomatik olarak kodu çeker, derler (build), testleri çalıştırır ve hiçbir hata yoksa canlı sunucuya (production) aktarır.
  • Yüzlerce Eklenti (Plugins): Slack bildirimlerinden AWS entegrasyonlarına, Docker imajı oluşturmadan SonarQube kod analizlerine kadar 1800'den fazla eklentisi ile hayal edebileceğiniz her sisteme bağlanabilir.
  • Pipeline as Code (Jenkinsfile): Bütün derleme ve dağıtım adımlarınızı arayüzden tek tek tıklamak yerine, projenizin içine koyacağınız bir 'Jenkinsfile' (Groovy tabanlı) ile kodlayabilir ve versiyon kontrolünde tutabilirsiniz.
  • Gelişmiş Dağıtık Mimari (Master-Slave): Jenkins ana sunucunuz yorulmasın diye, testleri ve derlemeleri ağınızdaki (veya Cenuta'daki) diğer küçük sunuculara (Slave Nodes) otomatik dağıtarak paralel işlem yapabilirsiniz.

Neden Jenkins Kurmalısınız?

Manuel kod dağıtımı; hatalara, sitelerin çökmesine ve saatler süren zaman kayıplarına yol açar. Bir geliştirici olarak kodunuzu FTP (FileZilla) üzerinden sunucuya atıyorsanız, modern yazılım dünyasının gerisinde kalıyorsunuz demektir. Jenkins, 'Kodu yaz ve unut' felsefesini gerçeğe dönüştürür. Cenuta'nın SSD altyapısı sayesinde derleme (build) işlemleriniz dakikalar değil saniyeler sürer. Jenkins, kod kalitenizi artırır, takımınızın hızını 10'a katlar ve Cuma akşamı canlıya alınan kodların hafta sonunuzu zehir etmesini tamamen engeller.

Bu İmajda Bulunan Tüm Yazılımlar

Bu hazır uygulama imajı, Jenkins Automation Server uygulamasını en yüksek performans ve güvenlik standartlarında sorunsuz çalıştırmak için gereken tüm bağımlılıkları, kütüphaneleri ve yapılandırmaları içerir. Kurulum esnasında sistem aşağıdaki yazılımları sunucunuza entegre eder:

Yazılım / Paket AdıSürüm ve Detay Bilgisi
Otomasyon MotoruJenkins (LTS - Uzun Süreli Destek Sürümü)
Çalışma OrtamıOpenJDK (Java Runtime Environment)
Yardımcı AraçlarGit, Curl, Wget
İşletim SistemiUbuntu 22.04 LTS

Kurulum Sonrası Kapsamlı İlk Adımlar

Cenuta Cloud Sunucunuz başarıyla oluşturulduktan sonra Jenkins Automation Server sistemine tam yetkiyle erişmek, güvenliğini sağlamak ve yapılandırmak için aşağıdaki adımları sırasıyla eksiksiz olarak izlemeniz gerekmektedir:

1
Web Paneline Ulaşın

Cenuta Cloud panelinden sunucu IP'nizi alın ve tarayıcınıza `http://sunucu_ip_adresiniz:8080` yazarak Jenkins web arayüzüne gidin.

2
Yönetici Parolasının (Admin Password) Bulunması

Jenkins güvenlik amacıyla ilk girişte sizden terminalde saklı bir şifre isteyecektir. SSH ile sunucuya bağlanıp `cat /var/lib/jenkins/secrets/initialAdminPassword` komutunu yazın ve ekrana gelen şifreyi kopyalayıp tarayıcıya yapıştırın.

3
Eklentilerin Kurulumu

Karşınıza çıkan ekranda 'Install suggested plugins' (Önerilen eklentileri kur) butonuna basın. Jenkins, Git'ten Pipeline'a kadar ihtiyacınız olan tüm temel araçları otomatik indirecektir.

4
Yönetici Hesabını Oluşturun

Eklentiler kurulduktan sonra sistem sizden kendi belirleyeceğiniz kalıcı bir kullanıcı adı, şifre ve e-posta tanımlamanızı isteyecektir. Bu bilgileri güvenli bir yere kaydedin.

5
İlk Projenizi (Job) Oluşturun

Sol menüden 'New Item' (Yeni Öğe) seçin, bir isim verip 'Freestyle project' veya 'Pipeline' seçerek Github deponuzu (Repository URL) bağlayıp otomasyona başlayın.

Merak Edilenler

Jenkins Hosting hakkında sıkça sorulan sorular.

Jenkins ile GitLab CI/CD veya GitHub Actions arasındaki fark nedir?

GitLab CI ve GitHub Actions, kod depolarının kendi içinde sunduğu (SaaS) çözümlerdir ve aylık dakika limitleri vardır. Jenkins ise TAMAMEN sizin sunucunuzda çalışır, dakika veya proje limiti yoktur ve kendi özel kurallarınızı yazmanız için çok daha esnektir.

Hangi dilleri derleyebilir (Build)?

Jenkins aslında her şeyi derleyebilir. Java (Maven/Gradle), Node.js (NPM), Python, PHP (Composer), C# (.NET Core) ve Docker gibi aklınıza gelebilecek tüm dillerle eklentiler vasıtasıyla çalışır.

Neden 8080 portunu kullanıyor?

Jenkins varsayılan olarak Apache Tomcat tabanlı eski bir Java web sunucusu mantığıyla 8080 portundan çalışır. Eğer bunu `jenkins.sirketim.com` gibi 80 (HTTP) portundan açmak isterseniz, sunucuya Nginx kurup Reverse Proxy yapmanız gerekir.

Sunucumu çok yorar mı?

Sadece boşta çalışırken bile Java altyapısı nedeniyle 500MB - 1GB arası RAM tüketebilir. Ancak asıl RAM ve CPU tüketimi, kodlarınızı 'Build' (Derleme) ettiğiniz anda (Örn: NPM Install çalışırken) fırlar.

Hata durumunda bana haber verir mi?

Evet. Slack, Microsoft Teams eklentilerini veya E-posta bildirimlerini kurarsanız; derleme başarısız (Failed) olduğunda takımınızın grubuna anında 'Build kırıldı, hatayı yapan geliştirici: Ahmet' şeklinde mesaj atabilir.