Capistrano
Özellikle büyük ölçekli portal yazılımları için ruby kullanılarak geliştirilmiş capistrano isimli güzel bir auto deployment aracı var. Benim de geçenlerde haberim olan bu araçtan biraz bahsetmek istiyorum.
Diyelim ki, büyük ölçekli bir portal yazılımının sistem adminliğini yapıyorsunuz ve günün birinde portalın yeni versiyonu yazılarak uygulamaya konulma aşamasına getirildi ve sistemsel değişikliklerin yapılması için top size atıldı. Ve diyelim ki sisteminiz, içerisinde onlarca ve hatta yüzlerce serverdan oluşan karmaşık bir server farmdan oluşuyor.
Hadi buyrun deployment’a.
Normalde, yeni versiyonun yayına geçirilmesi için sistem tarafında yapılan deployment çalışmaları; web serverlara yeni kodların atılması, sql serverlarda yeni versiyon databaselerinin oluşturulması, eski versiyon datasının yeni versiyon db’sine convert’ü gibi işlerden oluştuğu gibi eski versiyonda olmayan herhangi yeni bir özelliğin devreye alınmasıyla ilgili implementasyonlar, dns kayıtlarında eklemeler, çıkarmalar, smtp altyapısında değişiklikler gibi muhtelif işleri de beraberinde getirebiliyor.
Söz konusu olan sistem bir çok sunucu üzerinde parça parça koşan bir yapı olduğundan dolayı bir sistem admininin böylesi durumlarda epey ter dökeceği aşikardır değil mi ?
İşte Capistrano da, sistem adminleri ter dökmesin, işleri nispeten kolaylaşsın da şu deployment işini kolaycana yapabilsinler diye düşünülmüş bir uygulama.