Thursday, September 26, 2013

Continuous Integration (Sürekli Entegrasyon) Nedir? Travis-CI Nedir?

Continuous Integration (Sürekli Entegrasyon) yaklaşımı birlikte kullanılan VCS ile yapılan her commit-push işleminden sonra kaynak kodu derleyipi testlerini çalıştırıp yapılan son değişikliklerin projenin sağlık durumuna etkisini görmemizi sağlar. Buradaki ilk akla gelen soru şüphesiz "Projeyi biz derleyemiyormuyuz? / Testlerini çalıştıramıyor muyuz?" Sorunun cevabı, evet. Fakat bir projenin derlenişinin (alışık olmayarak masaüstü yazılımdan bahsediyoruz) ve test edilişinin onu beklerken bize ne kadar vakit kaybettireceğini biliyor muyuz? Continuous Integration'a ihtiyacımız işte tam bu noktada oluyor.

Kullanılan Continuous Integration servisi, asenkron (bizden bağımsız) olarak son commit-push ile beraber projeyi derliyor ve testleri gerçekleştirip bize sonucu belirtiyor, biz de hatrı sayılır bir zamanı ilerleme çubuğunun karşısında geçirmiyoruz.

---

Gel gelelim, Travis-CI.org servisine. Travis-CI servisi açık kaynak uygulamalar için Continuous Integration hizmeti vermektedir. GitHub'la eşsiz etkileşmiyle; GitHub'da bulunan repositorylerimizi otomatik algılayıp kurulum aşamasını da kısaltmaktadır. Birçok dili desteklemesi de birçok community tarafından kullanılmasının sebei olmuştur. An itibariyle şu dilleri desteklemekte: Clojure, PHP, Java, Node.js (JavaScript), Ruby, Python, Objective-C, Scala, Go, Perl.

Şimdilik kullanım hakkında detaylar veremeyeceğim. İlerleyen zamanlar için ayrı bir blog konusu olarak akılda kalmalı.

Kaynaklar
http://www.serdardemir.net/continuous-integration-nedir.html
http://net.tutsplus.com/tutorials/tools-and-tips/travis-ci-what-why-how/

No comments:

Post a Comment