Rocky Linux 9 ile Sürekli Entegrasyon/Sürekli Teslimat (CI/CD) Kurulumu Nasıl Yapılır? (Jenkins, GitLab CI)

Gerekli Paketlerin Yüklenmesi

Rocky Linux 9 üzerinde CI/CD araçlarının kurulumu için öncelikle gerekli paketlerin yüklenmesi gerekir. `dnf` paket yöneticisi kullanılarak sistem güncellenir ve gerekli bağımlılıklar kurulur. Öncelikle şu komut çalıştırılır:

“`bash
sudo dnf update -y
“`

Java, Jenkins için gerekli olan bir bağımlılıktır. OpenJDK yüklenmesi gerekmektedir:

“`bash
sudo dnf install java-11-openjdk-devel -y
“`

Jenkins’i kurabilmek için ayrıca `wget` aracına ihtiyaç vardır:

“`bash
sudo dnf install wget -y
“`

Jenkins’in Kurulumu

Jenkins, CI/CD süreçlerini yönetmek için yaygın bir açık kaynaklı otomasyon sunucusudur. Jenkins kurulumu için öncelikle Jenkins’in resmi depolarının sisteme eklenmesi gerekir. Aşağıdaki komut ile Jenkins’in RPM dosyası indirilir ve kurulum yapılır:

“`bash
wget -O jenkins.io.key https://pkg.jenkins.io/debian/jenkins.io.key
sudo rpm –import jenkins.io.key
sudo sh -c ‘echo “deb http://pkg.jenkins.io/redhat-stable/ binary/” > /etc/yum.repos.d/jenkins.repo’
sudo dnf install jenkins -y
“`

Kurulum tamamlandığında, Jenkins servisi başlatılır ve sistem açılışında otomatik olarak çalışması için etkinleştirilir:

“`bash
sudo systemctl start jenkins
sudo systemctl enable jenkins
“`

Jenkins kurulumunun başarılı bir şekilde yapılıp yapılmadığı kontrol edilmelidir. Tarayıcıdan `http://:8080` adresine gidilerek Jenkins arayüzüne erişim sağlanabilir. İlk erişimde bir kurulum sihirbazı belirecek ve yönetim paneline erişmek için gerekli bir anahtar istenecektir. Anahtar `/var/lib/jenkins/secrets/initialAdminPassword` dosyasında bulunmaktadır.

GitLab CI’nin Kurulumu

GitLab, proje yönetimi ve kod versiyon kontrolü sağlamak için sıkça kullanılan bir platformdur. GitLab CI, bu platform üzerinde sürekli entegrasyon ve sürekli teslimat süreçlerini yönetmek için kullanılır. GitLab kurulumu için öncelikle sistemde gerekli bağımlılıkların yüklenmesi gerekir:

“`bash
sudo dnf install curl policycoreutils openssh-server openssh-clients -y
“`

Yükleme işlemi tamamlandıktan sonra, GitLab’ın kurulabilmesi için resmi deposunun sisteme eklenmesi gerekmektedir. Aşağıdaki komut ile gerekli script indirilir ve çalıştırılır:

“`bash
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
“`

Ardından, GitLab kurulumunu yapacak aşağıdaki komut çalıştırılmalıdır:

“`bash
sudo EXTERNAL_URL=”http://gitlab.example.com” dnf install gitlab-ce -y
“`

Burada `http://gitlab.example.com` ifadesi, GitLab kurulumunun erişileceği DNS isimlendirmesi veya IP adresi olarak değiştirilmelidir. Kurulumdan sonra GitLab servisi yapılandırılmalıdır:

“`bash
sudo gitlab-ctl reconfigure
“`

GitLab, kurulumdan sonra bir web arayüzü sunmaktadır. Tarayıcı üzerinden `http://` adresine gidilerek kullanıcı arayüzüne erişim sağlanabilir.

Jenkins ve GitLab CI Entegrasyonu

Jenkins ve GitLab CI entegrasyonu, CI/CD süreçlerinin daha verimli yönetilmesini sağlar. İlk olarak, GitLab üzerinde bir proje oluşturulmalıdır. Jenkins üzerinde GitLab entegrasyonu için gerekli olan “GitLab Plugin” kurulmalıdır. Jenkins ana sayfasında “Manage Jenkins” seçeneği ardından “Manage Plugins” kısmına gidilir ve “Available” sekmesinden “GitLab” eklentisi aratılıp kurulur.

Entegrasyon sonrası, Jenkins ana sayfasında yeni bir “Ödev” oluşturulmalıdır. “Build Triggers” sekmesinde “Build when a change is pushed to GitLab” seçeneği aktif edilmelidir. GitLab projesinin ayarlar bölümünde “Webhooks” kısmına gidilerek Jenkins sunucusunun URL’si eklenmelidir:

“`
http:///project/
“`

CI/CD Süreçlerinin Yönetimi

Rocky Linux 9 üzerinde Jenkins ve GitLab entegre edildikten sonra, CI/CD süreçleri yönetilmeye başlanabilir. Jenkins, otomatik testler, derlemeler ve dağıtım süreçlerini gerçekleştirebilir. GitLab üzerinde de sürüm kontrolü yapılarak, değişikliklerin izlenmesi sağlanır.

Ayrıca, Jenkins üzerinde oluşturulan pipeline ve GitLab runner’lar ile birlikte daha karmaşık CI/CD süreçleri tasarlanabilir. Pipeline’lar, Jenkins üzerinde kodun nasıl derlenmesi, test edilmesi ve dağıtılması gerektiğini tanımlar ve bu süreçlerin otomatik olarak gerçekleştirilmesini sağlar.

Kurulum ve entegrasyon adımları tamamlandıktan sonra, sürekli entegrasyon ve sürekli teslimat süreçleri verimli bir şekilde yönetilebilir. Bu sayede yazılım geliştirme süreçleri hızlandırılır ve hata oranı minimize edilir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR