2009-07-07 19 views
11

Mam zainstalowany TeamCity na systemie Linux (Ubuntu) i chciałbym go użyć do niektórych projektów Python/Django.TeamCity do ciągłej integracji Python/Django

Problem polega na tym, że naprawdę nie widzę, co robić dalej - próbowałem wyszukiwać agenta kompilacji dla Pythona dla TeamCity, ale bez większego sukcesu.

Jak mogę to zrobić?

Odpowiedz

22

Ok, więc nie ma sposobu, aby to praca z właściwej integracji TeamCity:

Zakładając masz TeamCity zainstalowane co najmniej 1 czynnikiem budowania dostępnych

1) Skonfiguruj swojego agenta kompilacji wykonać

manage.py test 

2) Pobierz i zainstaluj ten plugin dla TC http://pypi.python.org/pypi/teamcity-messages

3) będziesz musiał podać swój zwyczaj przetestuj biegacza dla wtyczki w (2) do pracy. Może to być proste kopię run_tests z django.test.simple, z jednym tylko nieznacznym modyfikacjom: zastąpić liniami, testy płoza jest wywoływana z TeamcityTestRunner tak insted

def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): 
    ... 
    result = unittest.TextTestRunner(verbosity=verbosity).run(suite) 

użyj:

def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): 
    ... 
    result = TeamcityTestRunner().run(suite) 

będziesz musiał umieścić tę funkcję do pliku w roztworze, a następnie określ zawodnik testowy custome, wykorzystując właściwość konfiguracji TEST_RUNNER Django tak:

TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests' 

Producent sur e odwołać wszystkie wymagane importu w swoim file_name_with_run_tests

Można go przetestować uruchamiając

./manage.py test 

z linii poleceń i zauważyć, że wyjście nie zmieniło i teraz komunikaty jak

#teamcity.... 

pojawiające się w to.

1

Dodałem żądanie funkcji do modułu śledzenia problemów z TeamCity, aby w pełni korzystać z obsługi pythona. Oto link: http://youtrack.jetbrains.com/issue/TW-25141. Jeśli jesteś zainteresowany, możesz głosować na to, co może zmusić JetBrains do ulepszenia obsługi pythona.

Powiązane problemy