KaderTarlan

BlogCan

Bamboo Ile Sürekli Entegrasyon

Sürekli Entegrasyon (Continuous Integration) bir proje ekibinin oluşturduğu kaynak kodun geliştirilme aşamasında sorunsuz ilerlemesini sağlamak için her değişiklikten sonra sistemimizin hala çalışır durumda olduğunu kontrol etmek amacıyla kullandığımız yöntemdir.

Entegrasyon sürecini araçlar ile otomatik hale getirmek mümkün. Böylece entegrasyon hatalarını erkenden yakalayabiliyoruz.

Projede yapılan değişiklikten sonra yolladığınız her commit için Entegrasyon işlemini otomatik olarak aktif edebiliyoruz. Aktif olan entegrasyon işlemimiz hataları ayıklayabilmek için testlere ihtiyaç duymakta. Yazdığınız tüm unit testler proje üzerinde, her commit sonrası uygulanıyor. Commit ettiğiniz değişiklğiniz projede bir hataya neden olduğunda testler hata veriyor ve Entegrasyon işlemimiz başarılı olarak amacını gerçekliyor.

Sürekli Entegrasyon uygulanan projeler için hatalar hızlı bir şekilde erkenden fark ediliyor. Manuel testler ile gözümüzden kaçabilecek en küçük hatalar bile bu sayede bulunabiliyor. Yazılan otomasyon testleri her değişiklikte otomatik çalışmış oluyor. Bir kullanıcının bu testleri çalıştır komutunu vermeden testler sürekli olarak uygulanmış oluyor.

Bamboo ile CI arasındaki ilişki

Bamboo yazılım uygulamaları için sürüm yönetimini otomatikleştirir. Atlassian tarafından geliştirilen CI sunucu yazılımıdır.

CI(Continous Integration), her yapılan değişikliğin sistemde sistemde sınanması işlemiydi. Yazılım sürecinde farklı modülleri en az hatada birleştirmek istiyoruz. Böylece kalitemizi artırmayı hedefliyoruz.

Bamboo uygulamaların inşasını ve testini koordine eder ve zamanlar. Böylece kurulumlar ve testler otomatikleştirilmiş olur.

Bamboo’nun yanı sıra Java ile yazılmış özgür araç olan Jenkins de kullanılabilir.

Bamboo için aşağıdakilere ihtiyaç vardır:

•Projemizin bulunduğu kod depomuz( Buradan test etmek istediğimiz projemizin kodlarına erişeceğiz.)
•İnşa betikleri (Koduna erişilen projeyi Bamboo için test edilmeye hazır vaziyette kurulumunu sağlacağız.)
•Testler (Asıl amacımız olan yer burası, kontrolleri sağlayacak birim testlerimiz yazılmış olacak.)

Bamboo, projemiz için kurulum ve test sürecini yürüten denetleyen aracımız.

Kurulum ve testleri çalıştıracak olan komutlar geliştiricinin kodu commit etmesiyle otomatik olarak tetiklenir. Tetikleme sonucunda projemizin bulunduğu kod deposundan kodumuz çekilir. Çekilen kod kullanılarak yazmış olduğumuz betik ile kurulum sağlanacak. Bir kurulum dosyası oluşturuluyor. Bamboo da bu dosyayı kurulumu yapacağımız makinaya gönderir. Makina betikte belirtildiği şekilde bu dosyadan kurulumu gerçekler.

Kurulumdan sonra yazılmış olan otomasyon birim testleri aktif hale gelecek ve proje üzerinde yürütülecek. Bamboo bütün bu süreçleri yönetir. Testler bittiğinde sonuçları raporlar.

Tüm bu adımlar bir commit mesajı ile aktif olurken Bamboo ile bunları manuel gerçeklemek de mümkün. Var olan projenizi temiz bir şekilde bir makinaya kurup, tüm testleri üzerinde çalıştırıp, sonuçları görmek için Bamboo üzerinden Run! demeniz yeterlidir.