Robot Framework ile Jenkins Entegrasyonu

Merhaba arkadaşlar bu yazımda sürekli entegrasyon yaklaşımı için geliştirilmiş popüler bir ürün olan Jenkins ile Robot Framework entegrasyonunu anlatacağım.

Sürekli Entegrasyon (CI) Nedir ?

Bu yaklaşımda kod havuzuna gönderilen her değişikliğin sistemin herhangi bir bölümünde hataya yol açıp açmadığını kontrol etmek amacıyla kullanılan bir yaklaşımdır. Kod havuzuna gönderilen yeni kod otomatik olarak derlenir eğer bu aşamada herhangi bir hata oluşmazsa test sunucusuna deploy yapılır. Projeniz test sunucusuna deploy edildikten sonra test etmeye hazır duruma gelir. Test aşamasında yazılan test scriptleri otomatik olarak çalıştırılır ve yine olası bir hata durumunda bildirim yapılır. Test aşamasında sorun olmazsa nihai ürün canlı ortama (Release) deploy edilerek süreç tamamlanmış olur.

Sürekli Entegrasyon Yazılım Geliştirme Süreci

Sürekli Entegrasyon Araçları

  • Jenkins
  • Travis CI
  • TeamCity
  • Go CD
  • CodeShip
  • GitLab CI
  • Circle CI

Jenkins Nedir ?

Jenkins, java ile geliştirilmiş açık kaynak kodlu bir entegrasyon aracıdır. Geliştiricilerin bir kod havuzundaki hataları hızlı bir şekilde bulmalarını, çözmelerini ve testleri otomatize etmelerini sağlar.

Jenkins Kurulum

  • Buraya tıklayarak jenkins kurulum dosyasını bilgisayarınıza indirin.
  • İndirdiğiniz .zip uzantılı dosyayı zipten çıkarın jenkins.msi dosyasına çift tıklayarak kurulumu başlatın. Sonra next, next, next 🙂
  • Kurulum tamamlandıktan sonra otomatik olarak tarayıcı açılacak ve aşağıda gördüğünüz ekranla karşılaşacaksınız.
Jenkins Installation-1
  • Jenkins’in yönetici tarafından kurulması için default olarak belirlenmiş olan şifreyi aşağıdaki yolu takip ederek bulun ve yönetici şifresini kopyalayın.

C:\Program Files (x86)\Jenkins\secrets

Jenkins Installation-2
  • Sonraki aşamada kurulacak eklentilerin seçilmesi gerekmektedir bu ekranda iki seçenek sunulmaktadır. Install suggested plugins seçeneğini seçerseniz jenkins tarafından önerilen tüm eklentiler kurulmuş olacaktır. Select plugin to install seçeneğine tıklayarak kurulum yapacağınız eklentileri de seçebilirsiniz.
Jenkins Installation-3

Sonraki ekranda Jenkins yönetim paneline ulaşabilmek için bir kullanıcı oluşturmamız gerekmektedir. Kullanıcı bilgilerini doldurduktan sonra Save and Continue butonuna basın.

Jenkins Installation-4

Jenkins bağlantı linkini belirlediğimiz ekranda değişiklik yapmadan Save and Finish butonuna basın. Ben 8080 portunu kullandım ancak siz boşta olan bir port numarası da girebilirsiniz.

Jenkins Installation-5

Kurulum tamamlandı.

Jenkins Installation-6
Jenkins – Ana Ekran

Yapılandırma

Dil Ayarları

Jenkins Türkçe’ye tam çevrilmediği için uygulama genelinde hem türkçe hem ingilizce kelimeler bulunmaktadır. Biz uygulamanın dilini ingilizce olarak değiştireceğiz. Jenkins’ı Yönet / Sistem Konfigürasyonunu Değiştir seçeneğine tıklayın.

Jenkins / Dil Ayarları 1

Locale seçeneği altında yer alan Default Language alanına en-US yazın. Ignore browser preference and force this language to all users seçeneğinin işaretleyin. Apply ve Kaydet komutlarını vererek Jenkins’i ingilizce yapabilirsiniz.

Jenkins / Dil Ayarları 2

Java JDK Ayarları

Jenkins’in çalışması sırasında ihtiyaç duyduğu Java JDK’nın bilgisayarda kurulu olan yolunu göstermemiz gerekmektedir. Bunun için Manage Jenkins / Global Tool Configuration seçeneğine tıklayın.

Jenkins / Global Tool Configuration-1

JDK kısmında yer alan Add JDK butonuna basın.

Jenkins / Global Tool Configuration-2

Açılan ekranda Install automatically seçeneğinin işaretini kaldırın. Name alanına ayırt edebileceğiniz bir isim yazın, JAVA_HOME alanına Java JDK’nın kurulu olduğu dizinin yolunu yapıştırın ve Save butonuna basarak ayarları kaydedin.

Jenkins / Global Tool Configuration-3

Ben kaynak kod yönetim aracı olarak Git kullanacağım bunun için bilgisayarıma git uygulamasını kurdum ve yine aynı ekranda JDK’da olduğu gibi git uygulamasının yüklü olduğu dizini gösterdim.

Jenkins ile Yeni Job Tanımlama

Örnek Robot Framework projesi olarak bir önceki yazımda oluşturduğum test projesini kullanacağım. Örnek projenin linkine buradan ulaşabilirsiniz. Eclipse’de oluşturduğum projeyi GitHub’a yükledim. İlk olarak Jenkins’de Create new Jobs bağlantısına basın.

Jenkins / Create new jobs

Proje adını girin, Proje tipi olarak Freestyle project seçin ve OK butonuna basın.

Jenkins / Freestyle project

Proje oluştuktan sonra karşımıza aşağıdaki gibi bir ekran çıkıyor bu ekranda yer alan GitHub project checkboxına tıklayın ve açılan alana Github repository linkinizi yapıştırın.

Jenkins / Freestyle Project Configure-1

Aynı ekranda yer alan Source Code Management sekmesinde Git seçeneğine basın ve Repository URL ve Credentials alanlarını doldurun. Burada Git seçeneği çıkmıyorsa Manage Jenkins / Manage Plugins kısmından git eklentisini kurun. Save komutu vererek ayarları kaydedin.

Repository URL alanına projenizin git linkini yapıştırdığınızda “Failed to connect to repository : Error performing command: git.exe ls-remote” şeklinde hata alırsanız Global Tool Configuration kısmına eklediğiniz git uygulamasının kurulum dizin yolu hatalı olabilir Git alanına yazmanız gereken örnek yol şu şekilde olmalıdır: C:\Program Files\Git\bin\git.exe

Jenkins / Freestyle Project Configure-2

Robot Framework Eklenti Kurulumu

Projeyi oluşturduktan sonra Jenkins’e Robot Framework eklentisini kurmamız gerekiyor. Manage Jenkins / Manage Plugins ekranını açın. Available sekmesinde robot anahtar kelimesi ile eklentiyi aratın. Eklentiyi bulduktan sonra seçip Install without restart butonuna basın.

Manage Plugins / Robot Framework Plugin Install

Eklenti Jenkins’e kuruldu. Go back to top page bağlantısına tıklayarak ana sayfaya geri dönün.

Projeyi çalıştırarak kaynak kodu GitHub üzerinden çekiyoruz.

Jenkins / Run Build

Oluşturduğumuz proje için tekrar Configure butonuna basın. Build sekmesinde yer alan Add build step açılır butonuna basın, Execute Windows batch command seçeneğine basın.

Build Configure-1

Açılan Command alanına aşağıdaki komutları ekleyin. komutta yer alan Results kelimesi test sonuçlarını atacağımız Results klasörüdür siz istediğiniz adlandırmayı yapabilirsiniz.

c:
 cd C:\Program Files (x86)\Jenkins\workspace\SampleRobotFrameworkProject\RobotSampleProject
 robot -d Results LoginPageTestSuite.robot
Build Configure-1

Test sonuçlarını Jenkins’de takip edebilmek içinse Post-build Actions sekmesinde yer alan Add post-build action açılır butonuna basın, Publish Robot Framework test results seçeneğine basın.

Post-build Actions Configure-1

Açılan Public Robot Framework test results alanında yer alan Directory of Robot output kısmına test çalıştıktan sonra oluşacak test sonuç dosyaları yazılacaktır buraya test sonuç dosyalarını atmasını istediğiniz yolu yapıştırın ve Save butonuna basın.

Post-build Actions Configure-2

Gerekli tüm ayarları yaptık artık projeyi çalıştırma zamanı.

Build Project
Test Result-1
Test Result-2

Robot Framework’te yazdığımız test kodunu çalıştırdık ve sonuç başarılı oldu. Bir sonraki yazımda görüşmek üzere hoşcakalın.

Faydalı olması dileğiyle…