2012-01-30 9 views
5

Za każdym razem, gdy wprowadzam zmiany, uważam, że może działać: Nie wykonuję rozległych testów przed zatwierdzeniem. Moje zatwierdzenia wkrótce będą automatycznie pushed to a remote repository. (Jestem jedynym programistą i muszę dodawać funkcje lub przepisywać fragmenty kodu wiele razy dziennie.)rtęć: uruchamianie zdalnych testów regresji automatycznie po każdym zatwierdzeniu

Chciałbym skonfigurować zdalny komputer do automatycznego uruchamiania testów regresji za każdym razem, gdy coś popełnię; a następnie wyślij mi e-mail z powrotem raport różnic.

Jaki jest najłatwiejszy sposób konfiguracji?

Cały mój kod jest w języku Python 3. Mój własny system to Windows 7, ActiveState Python, TortoiseHG i Wing IDE. Mogę skonfigurować komputer zdalny jako system Linux lub Windows. Aplikacja zawiera wszystkie wiersze poleceń, z wprowadzaniem i wyprowadzaniem tekstu.

Odpowiedz

6

Użyj ciągłego serwera integracyjnego, takiego jak Buildbot lub Jenkins i skonfiguruj go do monitorowania repozytorium. Następnie uruchom testy, korzystając z tego. Buildbot jest napisany w języku Python, więc powinieneś poczuć się z nim jak w domu.

Jeśli czujesz, że to marnotrawstwo, aby buildbota lub Jenkins odpytywanie repozytorium (choć hg pull zużywa bardzo mało zasobów, gdy nie ma żadnych nowych Zestawienia zmian), to można skonfigurować hak changegroup w repozytorium, aby wywołać budować w CI serwer.

+1

Prowadzimy TeamCity, kolejny wspaniały serwer ciągłej integracji. – StrangeWill

+1

@StrangeWill: Słyszałem dobre rzeczy o TeamCity, na przykład, że może planować kompilacje na agencie, który ma już klona, ​​który jest najbardziej podobny do klonu wyższego rzędu, więc 'hg pull' jest szybkie dla klienta. Skupiłem się na narzędziach open source w mojej odpowiedzi, ponieważ to właśnie mam największe doświadczenie z samym sobą. –

2

Polecam skonfigurować Buildbot. Możesz kazać mu oglądać zdalne repozytorium (Mercurial jest obsługiwany) i automatycznie uruchamiać kompilację, gdy zmienia się repozytorium. W twoim przypadku kompilacja po prostu uruchamia twój pakiet testowy.

Wyświetlanie wodospadu pozwala zobaczyć, które kompilacje się nie powiodły i kiedy, w odniesieniu do zatwierdzeń z repozytorium. Może nawet powiadomić cię o popełnieniu przestępstwa, gdy coś się zepsuje.

Jenkins to kolejna opcja, obsługująca większość tych samych funkcji. Istnieją nawet opcje hostingu w chmurze, takie jak ShiningPanda, które mogą go hostować dla Ciebie i oferują bezpłatne licencjonowanie projektów open source.