7

Şu anda işyerinde sürekli bir bütünleştirme ortamı oluşturma aşamasındayım. VisualSVN Server ve CrusieControl.NET kullanıyoruz. Bazen bir yapı başarısız olur ve bir belirti, CruiseControl.NET çalışma kopyasında çakışmalar olduğunu gösterir. Bunun, Visual Studio çözümlerini kurduğumdan kaynaklandığına inanıyorum. İnşallah bu ortamda yürüttüğümüz daha fazla proje, onları nasıl kuracağımız konusundaki anlayışımız o kadar iyi olacaktır ki, bu aşamada neden çatışmaların yaşandığını sorgulamıyorum. Yapıları düzeltmek için çalışma kopyasını siliyorum ve yeni bir yapıyı zorladım - bu her zaman çalışıyor (şu anda). Öyleyse sorularım: çalışma kopyasını sürekli bir bütünleştirme oluşturma işleminin geçerli bir bölümünü siliyor ve bunun için nasıl giderim?Önceden oluşturulmuş görev - çalışma kopyasını CruiseControl.NET'te silme

MSTask da dahil olmak üzere çözümler denedim ve komut satırından silme işlemini denedim ancak hiç şansım yok. böylece söz olduğu için

Üzgünüz - iyi bir iş bu bir beta :)

+0

Subversion için CleanCopy, 1.4.1 sürümünde şimdi uygulanmaktadır. Yapılandırmanızda yalnızca CleanCopy öğesini true olarak ayarlamanız gerekir – Alex

cevap

9

Yapımdan önce veya sonra tam bir silme işlemi yapmak iyi bir uygulamadır. Bu, yapı ortamınızın eski bir tarih dosyası alma şansı olmadığı anlamına gelir. Binanız tam olarak depoda olanlara karşı.

Çalışma kopyası Nant ile yaptığım gibi silinebilir.

Nant'ta, kendi klasörümde, silmek istediğim bir dosyayla temiz bir betiğe sahip olurdum ve CC.net'den çağırırdım.

Bunun bir toplu iş dosyasıyla da mümkün olabileceğini varsayalım. rmdir komutu bir göz atın http://www.computerhope.com/rmdirhlp.htm

@pauldoo ben her zaman yapılması gereken bir sürüm derlemesi yapmak giderken benim CI sunucu herhangi bir sürpriz istemiyorum gibi tam silme yapmayı tercih

temiz bir durumdan. Ancak, her ikisini de başarabilmeli, neden olmasın, neden olmasın

0

Çok yaygındır ve genellikle herhangi bir önemli yapı yapmadan önce 'temiz' yapmak için herhangi bir inşa işlemi için iyi bir uygulamadır. Bu, önceki yapılardan herhangi bir 'eserin' çıktısını azaltmasını engeller.

Temiz, esas olarak çalışma kopyasını silerek yaptığınız şeydir.

0

@Brad Barker

Temiz araçlar sadece yapım ürünleri yok edecek.

Çalışma kopyasının silinmesi diğer her şeyi de siler (kaynak ve proje dosyaları vb.).

Genelde, tam bir silme yapmadan makine çalıştırabiliyorsanız, bu normal bir geliştiricinin yaptıklarını çoğalttığından hoş olur. Güncelleme sırasında bulduğu herhangi bir çakışma, geliştiricilerin bekleyebileceklerine dair erken bir uyarıdır. biçimsel bültenleri için


@jamie

evet bu tamamen temiz ödeme yapmak daha iyidir. Yani sanırım bu yapının amacına bağlı.

2

@jamie: Sürekli bir entegrasyon sunucusu - yapım zamanı kullanırken her zaman temiz bir yapı yapamayacağınızın bir nedeni vardır.Çalıştığım bazı projelerde, temiz yapılar 80+ dakika sürüyor (binlerce C++ dosyasından oluşan ve birden fazla hedefe karşı derlenmiş olan bir gömülü proje). Bu durumda, temiz bir yapının artımlı bir yapının olmayacağı bir şeyi yakalama olasılığına karşı hızlı geri bildirimin faydasını tartmanız gerekir. Bizim durumumuzda, CI makinemize art arda inşaata izin verirken, aynı zamanda yapım sürecini iyileştirmek ve paralel hale getirmek için çalıştık. Birkaç sorunla karşılaştık çünkü temiz bir şey yapmıyorduk, fakat gece veya haftalık temiz bir yapı yaparak CI makinenizin hızlı geri bildirimini kaybetmeden riski kaldırabilirsiniz.

2

CC.NET'in jira modelini incelerseniz, Subversion için CleanCopy'yi uygulamak üzere bir düzeltme eki vardır; bu, tam olarak istediğiniz şeyi yapar ve CleanCopy'yi kaynak denetim bloğunuzda tıpkı TFS'de olduğu gibi true değerine ayarlar.

İlgili konular