Jak mogę automatycznie zwiększyć wersję zespołu C # za pośrednictwem naszej platformy CI (Hudson)?

Ja i moja grupa jesteśmy przerażający w zwiększaniu liczby wersji montażowych i często wysyłamy zestawy z wersjami 1.0.0.0. Oczywiście powoduje to wiele bólów głowy.

Dzięki naszym praktykom jesteśmy znacznie lepsiCI i naprawdę chciałbym ustawić ją na automatyczne zwiększanie wartości w obrębieassemblyinfo.cs plik, aby wersje naszych zestawów były automatycznie aktualizowane wraz ze zmianami kodu w tym zespole.

Poprzednio ustawiłem (zanim znaleźliśmyHudson) sposób na zwiększenie wartości poprzez jedenmsbuild lub wiersz poleceń (nie pamiętam), ale z Hudsonem, który zaktualizuje repozytorium SVN i wyzwoli INNĄ kompilację. Spowodowałoby to powolną nieskończoną pętlę, co Hudson odpytuje SVN co godzinę.

Czy Hudson zwiększa numer wersji, co jest złym pomysłem? Jaki byłby alternatywny sposób na to?

Najlepiej byłoby, gdyby moje kryteria rozwiązania były takie, że:

Zwiększa numer kompilacji wassemblyinfo.cs przed budowąZwiększa tylko numer kompilacji w złożeniach, które uległy zmianie. Może to nie być możliwe, ponieważ Hudson usuwa folder projektu za każdym razem, gdy tworzy kompilacjęZatwierdza zmieniony plik assemblyinfo.cs w repozytorium kodu (obecnieVisualSVN)Nie powoduje, że Hudson uruchamia nową kompilację przy następnym skanowaniu w poszukiwaniu zmian

Pracując nad tym w mojej głowie, mógłbym łatwo wymyślić rozwiązanie większości z nich za pomocą plików / poleceń wsadowych, ale wszystkie moje pomysły spowodowały, że Hudson uruchomiłby nową kompilację przy następnym skanowaniu. Nie szukam kogoś, kto zrobi wszystko dla mnie, po prostu wskaż mi właściwy kierunek, może technikę, by Hudson zignorował pewne zatwierdzenia SVN itp.

Wszystko, co do tej pory znalazłem, jest tylko artykułem wyjaśniającym, jak automatycznie zwiększać numer wersji, nic nie bierze pod uwagę platformy CI, która mogłaby zostać zamieniona w nieskończoną pętlę.

questionAnswers(12)

yourAnswerToTheQuestion