Neden NAnt kullanayım ki?

NAnt kullanıcıları e-posta listesine birisi, uzun zamandır NAnt kullandığını ve çok mutlu olduğunu ancak çalıştığı kurumdan kendisine neden Visual Studio.NET ile değil de NAnt ile oluşturma yaptığını ve bunu kurumun standardı yapmaya çalıştığını sorduklarında yöneticilerine ne cevap vereceğini bilemediğini yazmış. Sanırım doğru yaptığını biliyor ama nedenini tam açıklayamıyor. Diğer kullanıcıların verdikleri cevapları toparlamaya çalıştım. Aşağıda bulabilirsiniz:


  • Birim testleri çalıştırma ve otomatikleştirme.

  • Her geliştiricinin kendi makinesinde oluşturma yapmasındansa merkezi oluşturma, yani güncel olmayan birşeyleri test etme veya üretim ortamına çıkarma gibi sorunlardan sakınma.

  • Günlük sürüm çıkma işlemini gerçekten günlük yapma.

  • Oluşturma işlemini tek adımda yapma.

  • Oluşturma sürecinin herkes için aynı olması ve birilerinin kafasındaki gizli bir bilgiye bağımlı olmaması.

  • FxCop, NUnit, NCover, Simian, Vil vs. gibi birçok aracı birarada kullanabilme. (NUnit'den sözettik, diğerleri de yolda)

  • VS.NET referansları çözümlemek için proj dosyalarında tüyolu adresler kullanır. Biryerde olduğunu düşündüğü kütüphaneyi bulamadığında hemen hata vermek yerine benzer başka adreslerde arar ve bulursa haberiniz olmaz. Bu yüzden VS.NET ile oluşturma yapmak çok da güvenli değildir.

  • Oluşturma yapılan ortam kurulumun yapılacağı ortam gibi VS.NET'in olmadığı bir yer olmalıdır.

  • Birkaç solution'a bölünmüş büyük bir projede oluşturmanın hepsi için ayrı ayrı ve belirli bir sırayla yapılması gerekir. Bunu dökümante etmeli ya da hep hatırlamalısınız. Oysa NAnt ile...

  • Standart dağıtım, yani tekrarlanabilir, istendiği an yapılabilir ve garantili...

  • Microsoft şimdiye kadar hiç Visual Stuido ile oluşturma yapmamıştır ve yapmayacaktır. Bir Microsoft danışmanının söylediğine göre bunun nedeni Visual Studio'nun kurumsal oluşturma ortamları için tasarlanmamış olmasıdır. Zira Microsoft birçok yönden NAnt'a benzeyen MSBuild'i yazmıştır.

  • Veritabanı oluşturma işlemleri de sql betiklerini çalıştıran NAnt targetları ile yapılabilir.

  • Son olarak, zaten VS.NET oluşturma sürecinin sadece derleme ayağını yapmaktadır. Oluşturma sürecinin derleme dışında bir çok adımı vardır ki bunu da NAnt gibi bir araçla yapabilirsiniz.

  • Bir de şöyle bir kitap var. Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Applications. Gerçi kitap Java'yı ele alıyor ama konu aynı konu.


  • Bence güzel liste oldu ve hayali kahramanımız Selçuk'un diğer hayali kahramanımız Emre'nin "Neden NAnt kullanayım ki?" sorusuna verdiği yanıt pekişmiş oldu.


Not: Tartışmanın tümü için NAnt kullanıcı forumlarında ilgili başlığa bakabilirsiniz. Toparlamada eksiğim veya yanlışım varsa pardon.

spinodal tarafından 07.06.2005 tarihinde yazılmıştır.

Labels: , ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home