Alperen Sah Abursum

Python Flask CI/CD Jenkins Docker Projesi

Merhaba python flask frame ile küçük bir web app oluşturacağız,

Jenkins ile Github bağlantısını sağlayacağız,

docker tarafında oluşturduğumuz web app image haline dönüştüreceğiz,

Geriye kalan CI/CD sürecini Jenkins’e devredeceğiz,

Debian 11 Jenkins Kurulum

Öncelikle flask ile mini bir web app oluşturuyorum,

Github hesabıma push ediyorum,

flask app’i build etmek için dockerfile oluşturuyorum,

FROM: Kullanılacak sistem belirtilir.

RUN: Belirtilen komutları image içerisinde çalıştırır.

COPY: Belirtilen dosyaları image içerisinde belirlenen hedefe kopyalar.

EXPOSE: Container’ın docker içinde çalışacağı port adresi belirlenir.

WORKDIR: Sonrasında gelen komutları verilen klasör içerisindeymiş gibi çalıştırır.

CMD: İlk önce çağrılır. Çalışma sırasını düzenler. İçine yazılan komut ve parametreleri çalıştırır.

ENV: Image içerisine dışarıdan veri girileceği zaman kullanılır.

dockerfile dosyamız hazır,

Jenkinsfile oluşturuyorum ve docker build, run komutlarını veriyorum,

Jenkins arayüzüne geliyorum,

create a job kısmına geliyorum,

Pipeline

seçerek devam ediyoruz,

Github seçerek proje urlsini giriyoruz,

repo urlsi, branch ismi ve script path belirliyoruz,

build now diyerek servisi çalıştırıyoruz,

permission hata almanız durumunda,

usermod -a -G docker jenkins

service jenkins restart

işlemleri uygulayabilirsiniz,

docker ps ile herhangi bir servis çalışıyor mu kontrol ediyorum,

servisimiz aktif olarak çalışmakta

Teşekkürler.

Yorum

  • Stanley Dabney

    Its such as you read my thoughts! You seem to
    know a lot about this, such as you wrote the e book in it or something.
    I feel that you simply can do with some % to force the message home a bit, however instead of that,
    that is fantastic blog. A great read. I will definitely
    be back.

  • Andrew Willis

    Hey There. I found your blog using msn. This is an extremely well written article.

    I’ll be sure to bookmark it and return to read more of your
    useful info. Thanks for the post. I will certainly comeback.

Bir yanıt yazın

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