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.