2009-07-07 105 views
11

我已經在Linux(Ubuntu)框中設置了TeamCity,並且希望將它用於某些Python/Django項目。TeamCity for Python/Django持續集成

問題是我真的不知道下一步該怎麼做 - 我嘗試搜索TeamCity的Python特定構建代理,但沒有獲得太多成功。

我該如何管理?

回答

22

好了,還有如何讓它以適當TeamCity的整合工作:

假設你已經有至少提供1生成代理

1)安裝TeamCity的配置構建代理執行

manage.py test 

2)下載並安裝此插件TC http://pypi.python.org/pypi/teamcity-messages

3)你必須提供自定義(2)中插件的測試運行器工作。它可以從django.test.simple run_tests直副本,只有一個略作修改:更換行,其中測試跑步被稱爲與TeamcityTestRunner,所以insted的的

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

使用本:

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

你必須是功能放入解決方案中的一個文件,指定的是定製的測試運行,使用Django的TEST_RUNNER配置屬性是這樣的:

TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests' 

製作河畔Ë您引用的所有需要​​進口的file_name_with_run_tests

您可以通過命令行運行

./manage.py test 

,並注意到,輸出測試已經改變,現在的消息像

#teamcity.... 

出現在它。

1

我向TeamCity問題跟蹤器添加了功能請求,以提供全功能的python支持。這是鏈接:http://youtrack.jetbrains.com/issue/TW-25141。如果你感興趣,你可以爲它投票,這可能會迫使JetBrains改進python支持。