2009-03-15 11 views
5

Mam zestaw projektów, które zależą od innych projektów (możesz powiedzieć, narzędzia), problem jest za każdym razem, gdy zmienię kod jednego z tych narzędzi, moi koledzy muszą wziąć najnowszy kod i zbudować na swoich maszynach do korzystania najnowsze zjazdy. Czy istnieje dobre standardowe rozwiązanie? lub po prostu scentralizowane biblioteki dll w udostępnionym folderze?Najlepszy sposób na organizowanie projektów zależnych?

P.S:

Używamy bezpiecznego 2005 MS źródła i nie chcę moi koledzy wziąć kod źródłowy i za każdym razem budować na swoich maszynach, ile potrzebują nie tylko pliki binarne kod.

Odpowiedz

2

Czy naprawdę potrzebują narzędzi, natychmiast po ich zmianie? Zwykle nie jest to prawda.

Zazwyczaj lepiej jest pozwolić kolegom "wyciągnąć" najnowszy kod w następnym dogodnym momencie, kiedy połączą się z własnymi zmianami.

Używasz systemu kontroli źródła, prawda?

Jeśli wszyscy użyją kopii na współdzielonym serwerze, mogą wystąpić problemy z aktualizacją plików binarnych, gdy są one używane, lub mogą powodować, że niektóre zastosowania będą powodować niespójne wyniki.

Jeśli rzeczywiście trzeba je zaktualizować w określonym momencie (na przykład narzędzia pracują, kontaktując się z pewną centralną bazą danych ze schematem, który ewoluujesz, więc musisz zaktualizować pliki binarne wszystkich osób w tym samym momencie, gdy aktualizujesz bazę danych schematu), a następnie proponuję zmienić narzędzia w usługi sieciowe. Istnieje wiele bardzo prostych sposobów na zrobienie tego. Następnie koledzy mogą uzyskać do nich dostęp za pośrednictwem stron internetowych, jeśli są interaktywni lub przez coś w rodzaju wget, jeśli są zautomatyzowane w linii poleceń. Możesz uzyskać wget for Windows here.

3

Jeśli używasz Subversion jako systemu kontroli źródła, możesz użyć do tego celu SVN Externals. W ten sposób będą automatycznie pobierać nowe wersje narzędzi, gdy wykonają aktualizację głównego folderu. Możesz także przekazać im Kontrolę Źródła w trybie tylko do odczytu, aby mogli spojrzeć na kod narzędzia, ale nie mają prawa do zatwierdzania zmian.

Używamy tego w pracy i działa idealnie. Ale pamiętaj, że czasami nie chcesz aktualizować narzędzi za każdym razem, gdy robisz aktualizację, ponieważ możesz coś zepsuć, używając nowej wersji. To jest coś, co twoja firma musi mieć sposób radzenia sobie. Mamy gałęzie SVN (lub znaczniki) dla wersji burmistrza narzędzi, więc jeśli zmienimy coś burmistrza, tworzymy nową wersję, a ludzie będą musieli ręcznie zmienić swoje SVN External, aby wskazać nową wersję, jeśli chcą.

1

Kiedy udostępniamy zespoły w wielu zespołach, promujemy je w katalogu bin, w ten sposób inni programiści mogą odwoływać się/wykorzystywać zestawy up to date bez konieczności ponownego budowania ze źródła.

Powiązane problemy