Sürekli Entegrasyon 4

Sürekli Entegrasyon 4

 

10. Herkes Ne Olduğunu Görebilir

Sürekli Entegrasyon iletişimdir. Böylece herkes sistemin son halini ya da şimdiye kadar neler yapıldığını rahatça görebilir. İletişimin yapıldığı birinci konu ise ana branch üzerinde gerçekleştirilen build işleminin durumunun ne olduğudur. Sürekli Entegrasyon için kullanılan araçlar bir web sitesi ile gelirler ve yapılan build’i, bu web sitesi üzerinden herkes izleyebilir. Kimi kurumlar bunun daha da görselleştirmek isterler başarılı build’ler için yeşil ışık sorunlu build’ler için kırmızı bir ışık yakarlar. Kimi kurumlar daha eğlenceli yaklaşırlar olaya ve build yapan yazılım geliştiricinin makinesinin üzerinde plastikten bir horoz bulunur. Herkes build yapıldığını ve kim tarafından yapıldığını bilmiş olur.

Web sitesinin diğer bir avantajı ise aynı ofiste çalışmayan kişilerin build’in son durumu hakkında kolayca bilgi edinebilmesidir. Ayrıca tarihçesi tutulan sistemlerin hangi build’lerinin başarılı olduğu hangilerinin olmadığı ve neden olmadığı bilgisi de bulunmaktadır.

11. Teslimi Otomatize Edin

Sürekli Entegrasyon yapabilmek için birden fazla ortama ihtiyacınız vardır. Bir ortamda commit testlerini koşarken başka bir ortamda ikincil testler koşulmalıdır. Herhangi bir ortama kolayca teslim yapılabilmesi önemlidir.

Aynı şekilde otomatize edilmiş bir yapıyla üretim ortamına da kolayca teslim gerçekleştirilebilmelidir. Kolaylıkla üretim ortamına alınan projelerde hatalar çok daha çabuk tespit edilip çözüme kavuşturulur. Ayrıca otomatize edilmiş bir roll back yapısı da düşünülmelidir. Hızlıca çözülemeyen problemlerle karşılaşıldığında çalışan ürünün son haline dönüş yapılabilmelidir. Çalışan ürünün son haline kolayca dönüşler sağlamak insanların üzerindeki teslim baskısını alacaktır. Böylece çalışanlar geliştirdikleri özellikleri üretim ortamına almak için daha sık aralıklarla teslim gerçekleştirmeye gönüllü olacaktır. Bu yaklaşım pazarın hızla değiştiği ve pazara giriş zamanının önemli olduğu ortamlarda ürün ve şirket değerini artırıcıdır.

 

Sürekli Entegrasyon Faydaları

  • Uzun ve yorucu entegrasyon işlemleri yok.
  • Şeffaflığı artırır, daha iyi bir iletişim için olanak sağlar.
  • Sorunlar çok daha çabuk bulunup çözülebilir.
  • Debug yapmaya daha az, yeni özellikler eklemeye daha çok zaman ayrılır.
  • Sürekli Entegrasyon yaparak daha sağlam temeller oluşturursunuz, sağlam temeller üzerine inşa yapıldığını bilmek güveni artırır.
  • Kodun çalışıp çalışmayacağı ikilemi yaşanmaz.
  • Kodlar daha sık iletildiği için entegrasyon problemleri azalır.
  • Sürekli Entegrasyonun maliyeti düşüktür. Geleneksel yaklaşımla proje sonunda yapılan entegrasyon işleminin maliyeti ise çok yüksektir.

 

Sürekli Entegrasyon Nasıl Yapılır?

  • Yazılım geliştirici ana branch’te bulunan kodu keni çalışma alanına içine çeker.
  • Yazılım geliştirici geliştirme işini tamamladığında yapılan değişiklikleri ana branch’e gönderir.
  • Sürekli Entegrasyon bilgisayarı, ana branch’i izler ve değişiklikler olduğunda bunları kendi üzerine de alır.
  • Sürekli Entegrasyon bilgisayarı build yapmaya başlar, birim ve entegrasyon testlerini koşar.
  • Sürekli Entegrasyon bilgisayarı, test edilmesi için yeni özellikleri teslim eder.
  • Sürekli Entegrasyon bilgisayarı, build edilmiş kodu versiyonlar ve koda bir build etiketi verir.
  • Sürekli Entegrasyon bilgisayarı, başarılı bir build’ten sonra yazılım geliştiricileri bilgilendirir.
  • Eğer build işleminde bir hata alındıysa Sürekli Entegrasyon bilgisayarı uyarı verir.
  • İlk fırsatta sorun düzeltilir.
  • Ürünün geliştirilmesi süresince entegrasyon işlemi ve testler devam eder.

 

Takım Sorumlulukları

  • Yazılım geliştiricilerin geliştirdiği kodlar sık sık ana branch’e gönderilmelidir.
  • Yazılım geliştiriciler kendi bilgisayarlarında build ve test yapmadan ana branch’e kodları göndermemelidir.
  • Sürekli Entegrasyon bilgisayarı üzerinde bir build işlemi başladığında bu build’i başlatan yazılım geliştirici build bitene kadar beklemeli ve sorun yaşanmadığından emin olmalıdır.

 

Son olarak, Sürekli Entegrasyon, bir araç olmaktan öte bir tutum, bir davranış şeklidir. Sürekli Entegrasyon’un başarılı olabilmesi için yukarıda belirtilen pratiklerin, sorumlulukların herkes tarafından bilinmesi ve uyulması gerekmektedir.
Sürekli Entegrasyon, hataları çözmez! Sürekli Entegrasyon, hataları olabildiğince çabuk tespit etmenizi ve çözmenizi sağlar. Böylece ürünle ilgili riskleri en aza indirir. Sürekli Entegrasyonu gerçekleştirebileceğiniz açık kaynak kodlu yazılımlar bulunduğu için herhangi bir maliyet yoktur.

Serinin diğer yazılarına buradan erişebilirsiniz.

1750total visits,3visits today

Leave a Reply

Your email address will not be published. Required fields are marked *