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

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





           4.2. Otomasyon Testi


           Yazılım geliştirme sürecinde yapılan her kod değişimi ile birlikte Jenkins tarafından otomatik build
           pipeline’ı çalıştırılması çoğunlukla seçilen yöntemdir. Bu pipeline daha çok ünite ve entegrasyon
           testleri gibi otomasyon testlerini içerir.



            pipeline {
              agent any
              stages {
                 stage(‘Checkout code’) {
                    steps {
                       checkout scm
                    }
                 }
                 stage(‘Test’) {
                    tools {
                       jdk “Java 17”
                       maven “LOCALMAVEN”
                    }
                    steps {
                       sh ‘mvn clean test’
                    }
                 }
              }
              post {
                 always {
                    cleanWs()
                 }
              }
            }


           Örnekte bir Jenkinsfile dosyası içeriği bulunmaktadır. Java uygulamasının git deposunu dinleyen
           Jenkins,  her  commit  sonrası  örnekteki  Jenkinsfile’a  göre  pipeline’ı  çalıştırır.  ‘Checkout  code’
           adımında uygulamanın kodu Git deposundan çekilir.  Test adımında ise ilk olarak uygulamanın ortam
           bilgileri belirlenir. Java dilinde yazılmış bir maven projesi olduğu için bu pipeline’ın çalıştığı Jenkins

           sunucusunda daha önceden kurulmuş olan “Java 17” jdk olarak seçilir ve maven için “LOCALMAVEN”
           verilir. Daha sonra ‘mvn clean test’ ile uygulama build edilir ve maven testleri çalıştırılır. Pipeline’ın
           başarılı  olup  olmadığına  bakılmaksızın  cleanWs()  ile  de  workspace  temizlenir.  Bu  pipeline  ile
           uygulamamızın  build  olması  test  edilir  ve  otomasyon  testleri  otomatik  çalıştırılır.  Sonuca  göre
           yazılan kodda revize edilmesi gereken yer tespit edilebilir.  Örnekteki yöntemde jenkins’in yerel
           uygulamaları kullanılmaktadır. Bir başka yöntem ise docker imajı oluşturmak ve ‘mvn clean test’
           komutunu docker imajı içerisinde çalıştırmaktır.
   44   45   46   47   48   49   50   51   52   53   54