Jak wersjonujecie projekty w solucji

Jak wersjonujecie projekty w solucji
JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5052
0

Hej, to pokłosie innego tematu.
W solucji mam 35 projektów. Dajmy na to, że jest WebAPI, klient WPF i mobilny. Rozumiem, że każdy z nich powinien być wersjonowany osobno, ważne żeby zgadzała się pierwsza cyfra z WebAPI, np:
WebAPI: 1.2.0.5
WPF: 1.7.1.2
Xamarin: 1.0.0.1

Teraz pytanie o inne projekty, które są w tej solucji - modele, DAL, jakieś utilsy, abstrakcje, serwisy itd. Czy i w jaki sposób je wersjonować?

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
1

W moim przypadku wygląda to tak:

Kontekst
System oparty o mikroserwisy. Każdy serwis to oddzielne repo. Każde repo to jedna solucja.

Cała komunikacja wewnętrzna (miedzy serwisami) odbywa się za pomocą eventów oraz HTTP, a więc również DTO. Co za tym idzie trzeba jakoś współdzielić te DTOs z innymi serwisami.

Każdy mikroserwis może być wypuszczany na produkcję niezależnie.

W praktyce
Wersjonujemy tylko te projekty które są współdzielone i wystawiane w formie paczek NuGet. Stosujemy semver z drobnymi odstępami od zasad (lub herezją jeśli ktoś woli). Proste i się sprawdza. Nie wersjonujemy na podstawie wersji release bo nie ma takiej potrzeby, a często by to nie miało sensu. Wersje w tym przypadku są tylko dla programistów, aby wiedzieli że np. zasysają breaking changes.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.