Zawsze uruchamiałem kompilacje po każdym zatwierdzeniu, ale w tym nowym projekcie architekci poprosili mnie o zmianę częstotliwości na „jedna kompilacja co 15 minut” i po prostu nie rozumiem, dlaczego byłby to dobry powód kontra „ opierając się na każdym zatwierdzeniu ".
Po pierwsze, kilka szczegółów:
- Projekt Objective-C (iOS 5)
- 10 programistów
- każda kompilacja zajmuje ~ 1 min i obejmuje kompilację i testy jednostkowe.
- Serwer integracyjny to Mac Mini, więc moc obliczeniowa nie jest tak naprawdę problemem
- używamy Jenkinsa z wtyczką XCode
Moje argumenty były takie, że jeśli budujesz przy każdym zatwierdzeniu, możesz teraz zobaczyć, co poszło nie tak, i bezpośrednio poprawić swoje błędy, nie przeszkadzając innym deweloperom zbyt często. Ponadto nasz tester jest mniej przeszkadzany w ten sposób błędami UT. Argumentował, że deweloperzy zostaną zalewani wiadomościami „z błędami kompilacji” (co nie jest do końca prawdą, ponieważ Jenkins można skonfigurować tak, aby wysyłał pocztę tylko dla pierwszej zepsutej kompilacji) i że metryki nie można poprawnie wykonać, jeśli częstotliwość kompilacji jest zbyt wysoki.
Jakie jest twoje zdanie na ten temat?