Ben bir. Net bir adamım ve bu nedenle pencereler dünyadaki şeyler ile çalışmak ... gerçi inşa süreçlerini yönetmek için bir günlük bazda çalışmak teknolojileri dünyaya geldiğini söyledikten! ({[(3 (CruiseControl), VisualSVN ben kullanmak CruiseControl.NET (Linux / java teknolojileri parantez içinde ama ben çok pencereleri okuyucular için onların eşdeğer dahil) )]}), Tortoise, ve NAnt (Ant) benim yapı tüm ihtiyaçlarını dikkat çekmek için.
Benim oluşturur Bütün genelde otomatik itti ve benim kaynak denetimi (SVN veya SubVersion) izler gibi bu CruiseControl ile yapılır check-in sırasında etiketlenir. CruiseControl (CC) yeni kod sırayla yapı sunucu üzerinde Ant script dışarı çağıran bir CC projeyi yürütecek kontrol edildiğini görür.
Ant komut ortak bir yapı içinde benim için birçok şeyi yapar. Bu son kodunun bir kopyasını kontrol ve yapım sunucusu aşağı getirecektir. Daha sonra işler en azından derleme emin olmak için kod inşa edecek. Daha sonra benim veritabanı temiz bir kopyasını ayarlar ve güncel sürüme kadar db bu temel kurmak için herhangi bir sql komut çalıştırır. Sonra benim birim test tüm projeleri çalıştırın. Ben daha sonra diğer şeyler arasında kod hala benim arka uç (onlar senkronize dışında nadiren yüzden ben genellikle benim projelerde bir ORM kullanmak ile uyumlu olduğundan emin olmak için benim depo katmanı sınamak entegrasyon testleri çalıştırmak ... ama iyi bir adım sürecinde). Bir kere tüm testleri temiz bir duruma veritabanını geri almak ve onu tıkla karşı geliştirmek için temiz bir veritabanı ile ekip sağlar gibi (bu önemli güncel sürüme kadar getirmek için komut dosyalarını yürütmek geçti (ya da başarısız) var Bir düğmeye). Inşa başarılı olursa o zaman ben (ben de benim sunucuları hazırlama ve üretim sunucuları için tek tıklama dağıtım var) geliştirme sunucuya dışarı kodunu dağıtmak olacaktır. Eğer her çek ile kod tabanı etiketlemek istiyorsanız bunu burada da yapabiliriz.
Bir kere bütün bu I NDepend, NDoc kullanarak benim kod bazı analiz çalıştırmak istiyorum, ve NCover tamamlandı. NDepend şey olması gerektiği gibi adlandırma standartları olduğunu, mimari doğru, ve daha bir sürü emin olmak için bir kod analiz aracıdır. Ndoc kod yorumların tüm ayıklar ve benim kod MSDN tarzı belgeler oluşturur. Benim kod birim testler ile uygun kapsama varsa NCover söyledi.
Ben o zaman bu bina ne kadar bok (sprint sonunda genellikle) bana başka bir rapor oluşturmak ve / / CodeDebt etiketleri çeşitli / / TODO için benim kod tüm ayrıştırır yazdığı özel bir Ant görev var Benim kod tabanı yukarı. Bu daha sonraki sürat çarpanlarına olabilir.
Bu raporların tümü ya gider ya da çok uygun bağlantılı yapı e-posta dahil edilmiştir.
Her .. check-in ve kimse bile bir düğmesini tıklatın kalmadan için yukarıdaki bütün olur unutmayın! Bu doğrudur sürekli entegrasyon ve her yapı ustası hedefi olmalıdır.
CruiseControl da olmayan web dev adamlar (kimse gerçekten) gitmek ve kod kontrol etmeden bu itme yürütmesine olanak sağlayacak web tabanlı bir konsol vardır ... bir yapı zorlama denir.
Kolayca da sürece her şey sürüm kontrolü altında olduğu gibi bir itme geri dönebilirsiniz bu çerçeve göz önüne alındığında. Sen aynı işlemi yapmak istiyorsunuz başka Ant script gerekir ama bu bir ek birinci görevi bu üzerinde inşa sürecini gerçekleştirmek yerine en son daha kodunun son sürümünü almak gerekir. Ant tüm görevleri farklı bir yürütme hedefi ile tekrar edilebilir.