< Hasscript />
popular Tags
Java #297 Genel Kavramlar #295 Veri Tabanı #220 oracle #84 Sunucular #81
→ View All Tags
top Authors
kenan 485 tolgacelik.art 341 kupanintorunu 49 canonka 36 buzel 32
→ View All Authors
→ Tags
popular Tags
#Java #Genel Kavramlar #Veri Tabanı #oracle #Sunucular
→ Authors
top Authors
@kenan @tolgacelik.art @kupanintorunu @canonka @buzel
/**
* @author Mazlum BA
* @date 2016-05-11
* @tags Web Programlama
*/

question Continuous integration nedir?

comments 1 references
  1. // @author kenan | 18 Mayıs 2016

    Continous Integration bir yaşam tarzıdır 🙂
    Sadece basit bir uygulama dağıtım tekniğidir demek biraz haksızlık olur.

    Örneğin bir pastane düşünelim, ya da fırın. Gecenin köründe kalk, bütün hazırlıklarını tamamla, sonra olanca gücünle sabah insanlara ürünlerini (ekmek, pasta) çıkarmak için çalış. Sonra bu ürünlerini sat ve sonraki üretim muhtemelen bir sonraki gün için tekrar aynı telaş için hazırlan ve bu şekilde devam et. Bu bildiğimiz klasik yaklaşım.

    Continuous integration felsefesinde ne yapacaksın peki; bütün üretim sistematiğini bu ürünü dükkanın açık olduğu anların hepsi için baştan planlaman gerekir. Büyük bir iş gücüyle değil, küçük yapılabilir parçalarla gün boyunca sürekli fırın çalışacak. Ürünler çıkacak. Klasik bir yöntemde çalışan bir firma için bu yapıya geçmek çok kolay birşey olmuyor. Bütün yapacağın işler belirli olsun diye bir görüş var (bkz waterfall) ve 1920 lerde yanlış hatırlamıyorsam bu konuda bilimsel yazılar yazılıyor. Waterfall çalışmıyor, yapılamıyor, gerçek dünyayla uyuşmuyor şeklinde. Bunu yerine agile (çevik) denilen yöntemler daha olgunlaştıkça, kullanımı arttıkça bu sistematiğe uygun dağıtım şekillerinin ortaya çıkışı olarak değerlendiriyorum ben.

    Kısaca ürün çıkardığınız bir iş yerinde, ürünün sürekli olarak çıkması yani release(piyasaya çıkışı) gelene kadar sürekli olarak küçük küçük bütün sürecin ürüne uygulanarak yayınlanması.

    Yazılım süreci olarak bakarsak; Geliştirme / test / entegrasyon / deployment (yükleme) / vb. Bu aşamalarda otomatiğe bağlaman gereken yerlerin bulup kodlanıp bir kendi kendine ilerlemesi için bir yapı kurmak lazım. Mesela SVN veya Git kullanıyorsun, kodunu commitledikten sonra kendiliğinden test scriptlerinin çalışması, gerekiyorsa entegrasyonlarının olması, otomatik olarak deployment ve publish kısımlarının çalışması şeklinde gider. En büyük sorun mantalite. Mesela yanlış bir kodu commitledin ne olacak? Olduğu gibi PROD’a kadar otomatik bir şekilde gidebilir. O yüzden içselleştirmek gerekiyor. Küçük ve çalışan parçalar yazılır, commitlendiği anda akar gider.

    İyi çalışmalar.

// Comments are closed.

// Hasscript © 2026
// Powered by Coffee & Code