Page 48 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 48

48 | CI/CD Süreç Yönetimi



           Canlı ortama kurulmuş olur. Canlı ortamdaki eski uygulama kapatılır. Olası hata durumlarında eski
           uygulamaların versiyon numarası git kubernetes manifest deposuna geçilmek istenen eski versiyon

           bilgisi girilir ve eski versiyonlara hızlı bir şekilde geçiş yapılabilir.




           4.1. Konteynerleştirme (Docker)

           Test  otomasyonu  düzenlemesi,  birim(unit),  işlevsel(integration)  ve  performans  testi  aşamalarını

           içerir. Sürekli test yaklaşımı, istikrarlı bir kod tabanı, daha hızlı yanıt ve kolay karar verme avantajına
           sahiptir. Bu otomasyon olmazsa olmazdır. Her zaman tekrar tekrar işletilir. Build oluşturma adımında,
           diğer adıyla Sürekli Entegrasyonda en sık tercih edilen konteynerleştirme teknolojisi olan Docker
           kullanır.

           Geliştirme  sırasında  iş  akışı  karmaşıktır  ve  çoğu  zaman  bir  deneme-yanılma  sürecine  dayanır.
           Geliştirici bir CI ortamı oluşturduğu zaman tüm Docker konteyner oluşturma adımlarını uygulayabilir:
           tanımlamaları düzenleme (örneğin, bir Docker dosyası), bir docker imajı oluşturma, beklendiği gibi

           çalışıp çalışmadığını anlama, bir hatanın neden(ler)ini belirleme ve ilk adıma geri dönüp tanımlamaları
           geliştirme. Docker, önbelleğe alma, özelleştirme, ölçekleme ve güvenlik gibi özellikler sağlar ve
           platformlar  arası  çalışır.  Docker’ın  bir  başka  avantajı,  özel  kontroller  kullanarak,  genel  yürütme
           süresini azaltmak ve iş görevlerinde kesintileri önlemek için aynı anda çalışabilen birkaç Docker
           konteynerine  karar vermenin mümkün olmasıdır.



            FROM openjdk:17-jdk-alpine
            COPY ./target/demo-app-0.0.1-SNAPSHOT.jar demo-app.jar
            CMD [“sh”, “-c”, “java -jar demo-app.jar”]



           Yukarıda bir java uygulaması için örnek Dockerfile bulunmaktadır. Uygulamanın konteyner haline
           getirilmesi için bu dosya kullanılır. Içindeki her satır bir komutu temsil eder. Ilk satırda base imaj

           olarak uygulamanın çalışacağı java versiyonuna sahip alpine jdk 17 base imajı seçilir.  Ikinci satırda
           derlenmiş  uygulamanın  jar  dosyası  ana  dizine  kopyalanır.  CMD  ise  her  Dockerfile  da  sadece  bir
           tane olur. Docker imajının varsayılan çalıştırma komutunu değiştirmek için kullanılır. Bu Dockerfile
           örneğinde de java uygulaması için çalıştırma komutu gösterilmiştir.
   43   44   45   46   47   48   49   50   51   52   53