Jenkins Üzerinde CI-CD Yönetimi
0

Jenkins CI-CD Adımları Nasıl Yönetilir?

Jenkins Üzerinde CI-CD Yönetimi. Bugün sizlerle Github’da bulunan bir projemizin Jenkins üzerinde CI/CD adımlarını yönetmekten bahsedeceğiz. Daha önceden kurulum yaptığımız bir Jenkins üzerinde pipeline hazırlayarak adımlarımızı tamamlayacağız.

Jenkins CI-CD Adımları

Pipeline oluşturma

İlk olarak Jenkins üzerinde bir pipeline oluşturuyoruz. Bunun için önce yeni öğe diyerek yeni öğe oluşturma ekranını açıyoruz.

Jenkins CI-CD Adımları

Resim-1

Daha sonra yeni öğe ekleme ekranında projemizin adını girip seçeneklerden de Pipeline seçiyoruz ve OK diyerek devam ediyoruz.

Jenkins CI-CD Adımları

Resim-2

Karşımıza çıkan Configure sayfasında Pipeline alanına geliyoruz ve burada kullanılacak Github projesinin bilgilerini giriyoruz. Definition alanını Pipeline script from SCM seçeneği yapıyoruz ve SCM kısmını Git seçeneği yapıyoruz. Daha sonra karşımıza daha sonra karşımız Repository, Credentials, Branch vb. bilgileri dolduracağımız alan geliyor. Burayıda bizim Github bilgilerimize göre dolduruyoruz. En sonda Script Path olarak Github projesinin içindeki kullanılacak Jenkinsfile dosyasının adını veriyoruz.

Jenkins CI-CD Adımları

Resim-3

Credential oluşturmak için Add butonuna basıp Jenkins seçeneğini seçiyoruz. Daha sonra karşımıza çıkan Add Credentials bölümünden Username, Password vb. bilgileri Github bilgilerimiz ile doldurarak yeni bir Credential oluşuruyoruz.

Jenkins CI-CD Adımları

Resim-4

Jenkins CI-CD Adımları

Resim-5

Şuan Jenkins Pipeline kullanıma hazır. Hatırlayacağınız gibi Configure ederken Script Path olarak Jenkinsfile verdik. Bunun için Github projemiz içinde Jenkinsfile adında bir Jenkins dosyası yapacağız. Bu dosya içinde Pipeline çalıştırdığımız zaman yapılacak adımlar olacak. Şimdi o Jenkinsfile hazırlamasına geçelim.

Jenkinsfile hazırlanması

İlk adımımız Docker Build adımı olacak. Burada Github projemiz içindeki Dockerfile’a göre build olup bize bir image oluşturacak. Bunun için aşağıdaki adımı Jenkinsfile içine yerleştirmek gerekmektedir.

Jenkins CI-CD Adımları

Resim-6

Burada hasanertenli13 klasörünün altında latest tagını kullanan bir jenkins isimli image oluşturuyor. hasanertenli13 klasörü burada kullandığımız DockerHub kullanıcı adımız.

İkinci adımımız ise Docker Push adımı olacak. Burada oluşturduğumuz image’ı önce Dockerhub tarafında bulunan hesabımıza bağlanıp daha sonra oradaki repository kısmımıza atıyoruz. Bunun için aşağıdaki adımı Jenkinsfile içime yerleştiriyoruz.

Jenkins CI-CD Adımları

Resim-7

Burada ilk başta DockerHub’a login oluyoruz ve daha sonrada docker push komutu ile image’ı DockerHub repositorysine gönderiyoruz. User ve Password bu adımda parametrik olarak verilmiştir. Bu parametreleri Jenkins üzerinde oluşturduğumuz Pipeline’da Configure alanında vereceğiz. Bunun için aşağıdaki adımları takip edebilirsiniz.

Jenkins CI-CD Adımları

Resim-8

Jenkins CI-CD Adımları

Resim-9

Jenkins CI-CD Adımları

Resim-10

Password için Password Parametre seçiyorsunuz.

Jenkins CI-CD Adımları

Resim-11

Son adım olarak ise Docker Start adımını yapıyoruz. Burada ilk başta image’ı çalıştıracağımız sunucuya bağlanıyoruz. Daha sonra DockerHub repositorysine bağlanıp çalıştıracağımız image’ı indiriyoruz. Daha sonra da docker run komutu ile image’ı çalıştırıyoruz. Bunun için aşağıdaki adımı Jenkinsfile tarafına ekliyoruz.

Jenkins CI-CD Adımları

Resim-12

Burada ilk başta sshpass uygulaması ile sunucuya login oluyoruz. Bu uygulama ile kısayoldan şifremizi girerek şifre sormadan sunucuya bağlanmamızı sağlıyor. Daha sonra login olup image indirmesini yapıyoruz. Daha önceki çalışan container’ı durdurup siliyoruz. Durdurma ve silme adımını ilk kez çalıştırmada yorum satırına almalısınız ki hata vermesin. Daha sonrada gerekli bilgileri girerek docker run komutu ile container’ı çalıştırıyoruz.

Jenkinsfile’ın son halini aşağıda görebilirsiniz.

Jenkins CI-CD Adımları

Resim-13

Önemli Not: Bu Jenkinsfile’ın sağlıklı bir şekilde çalışabilmesi için Jenkins sunucusuna docker kurulumu yapılmalıdır ve jenkins user’ına docker yetkisi verilmelidir.

Jenkins CI-CD adımları son ayarlar

Artık Pipeline çalıştırabilecek durumdayız. Bunun için jenkins adında oluşturduğumuz Pipeline’a giriyoruz.

Jenkins CI-CD Adımları

Resim-14

Daha sonra Build with Parameters butonuna basarak Parametre sayfasına geçiyoruz.

Jenkins CI-CD Adımları

Resim-15

Eğer parametre bilgilerini değiştirmek istersek bu adımda değiştirebiliriz. Herşey tamamlandıktan sonra Yapılandırma diyerek Pipeline’ı başlatıyoruz.

Jenkins CI-CD Adımları

Resim-16

Tüm adımlar tamamlandıktan sonra docker’ı çalıştırdığımız sunucuya giderek kontrol ediyoruz.

Jenkins CI-CD Adımları

Resim-17

Jenkins CI-CD Adımları

Resim-18

Tüm işlemler tamamlandı. Bu image’ı 3000 portunda çalıştırdığımız için {Sunucu_ipsi}:3000 adresini tarayıcı açarak kontrol ediyoruz.

Jenkins CI-CD Adımları

Resim-19

Görüldüğü gibi sıkıntısız bir şekilde Jenkins CI-CD adımları içinde image build ve deploy işlemini gerçekleştirdik. Keyifli bir şekilde okumanız dileğiyle.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

8 Haziran 1995 yılında Ankara Gölbaşı'nda doğdum. Üniversite yıllarına kadar öğretim hayatımı Gölbaşı'ndaki okullarda geçirdim. Ankara Yıldırım Beyazıt Üniversitesi Bilgisayar Mühendisliği bölümü mezunuyum. Liseden başlayıp üniversitenin sonuna kadar amatör futbol oynadım. 2018 yılında mezun olduktan sonra BiSoft Bilgi Teknolojileri'nde Yazılım Uzman Yardımcısı olarak işe başladım. Daha sonra DevOps Uzman Yardımcısı pozisyonuna geçtim. Şuan Bimser Çözüm firmasında DevOps Uzmanı olarak iş hayatımı sürdürüyorum. Pozisyonumda kendimi geliştirerek yoluma devam ediyorum ve sizlere bu deneyimlerimi aktarmaya çalışacağım.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir