Ja i moja grupa jesteśmy horrendalni, jeśli chodzi o zwiększanie numerów wersji zestawu i często wysyłamy zestawy w wersjach 1.0.0.0. Oczywiście powoduje to wiele bólów głowy.
Nasze praktyki są coraz lepsze dzięki naszej platformie CI i naprawdę chciałbym ustawić automatyczne zwiększanie wartości w assemblyinfo.cs
pliku, tak aby wersje naszych zestawów były automatycznie aktualizowane wraz ze zmianami kodu w tym zestawie.
Wcześniej ustawiłem (zanim znaleźliśmy Hudson ) sposób na zwiększenie wartości za pomocą jednego z nichmsbuild
lub z linii poleceń (nie pamiętam), ale z Hudsonem, który zaktualizuje repozytorium SVN i uruchomi INNĄ kompilację. Spowodowałoby to powolną nieskończoną pętlę, gdy Hudson sonduje SVN co godzinę.
Czy zwiększenie numeru wersji przez Hudsona to zły pomysł? Jaki byłby inny sposób na zrobienie tego?
Idealnie byłoby, gdyby moje kryteria rozwiązania były takie, które:
- Zwiększa numer kompilacji
assemblyinfo.cs
przed kompilacją - Zwiększa numer kompilacji tylko w zmienionych zespołach. Może to nie być możliwe, ponieważ Hudson czyści folder projektu za każdym razem, gdy tworzy kompilację
- Zatwierdza zmieniony plik assemblyinfo.cs do repozytorium kodu (obecnie VisualSVN )
- Nie powoduje, że Hudson wyzwoli nową kompilację podczas następnego skanowania w poszukiwaniu zmian
Pracując nad tym w mojej głowie, mogłem łatwo znaleźć rozwiązanie większości tego problemu za pomocą plików wsadowych / poleceń, ale wszystkie moje pomysły spowodowałyby, że Hudson uruchomiłby nową kompilację przy następnym skanowaniu. Nie szukam kogoś, kto zrobi wszystko za mnie, po prostu wskaż mi właściwy kierunek, może technikę, która pozwoli Hudsonowi zignorować pewne zatwierdzenia SVN itp.
Wszystko, co do tej pory znalazłem, to tylko artykuł wyjaśniający, jak uzyskać automatyczne zwiększanie numeru wersji, nic nie bierze pod uwagę platformy CI, która mogłaby zostać spleciona w nieskończoną pętlę.