Jaki jest ich cel?
Załaduj maszyny deweloperskie, zapewnij stabilne, odtwarzalne środowisko dla kompilacji.
Dlaczego programiści nie budują projektu na swoich lokalnych maszynach, czy też nie?
Ponieważ przy złożonym oprogramowaniu zdumiewająco wiele rzeczy może pójść nie tak po prostu „kompilując”. problemy, które faktycznie napotkałem:
- niekompletne sprawdzanie zależności różnego rodzaju, skutkujące brakiem aktualizacji plików binarnych.
- Po cichu publikowanie poleceń kończy się niepowodzeniem, komunikat o błędzie w dzienniku jest ignorowany.
- Kompiluj z uwzględnieniem lokalnych źródeł, które nie są jeszcze zobowiązane do kontroli źródła (na szczęście nie ma jeszcze żadnych okien z wiadomościami o „cholernych klientach”…).
- Próbując uniknąć powyższego problemu, budując z innego folderu, niektóre pliki zostały wybrane z niewłaściwego folderu.
- Folder docelowy, w którym są agregowane pliki binarne, zawiera dodatkowe przestarzałe pliki programistów, których nie należy uwzględniać w wersji
Mamy niesamowity wzrost stabilności, ponieważ wszystkie publiczne wydania zaczynają się od pobrania z kontroli źródła do pustego folderu. Wcześniej było wiele „zabawnych problemów”, które „zniknęły, kiedy Joe dał mi nową bibliotekę DLL”.
Czy niektóre projekty są tak duże, że do zbudowania ich w rozsądnym czasie potrzebne są mocniejsze maszyny?
Co to jest „rozsądne”? Jeśli uruchomię kompilację wsadową na moim komputerze lokalnym, jest wielu rzeczy, których nie mogę zrobić. Zamiast płacić programistom za ukończenie kompilacji, płać działowi IT za zakup prawdziwej maszyny do kompilacji.
Czy po prostu nie pracowałem nad wystarczająco dużymi projektami?
Rozmiar jest z pewnością jednym z czynników, ale nie jedynym.