TeamCity for Python/Django持续集成

2024-06-11 07:25:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在Linux(Ubuntu)上设置了TeamCity,并希望将其用于一些Python/Django项目。

问题是我真的不知道下一步该怎么做——我试着为TeamCity搜索一个特定于Python的构建代理,但是没有取得多大的成功。

我该怎么办?


Tags: 项目django代理ubuntulinuxteamcity
2条回答

我已经向TeamCity issue tracker添加了功能请求,以提供全功能的python支持。这是链接:http://youtrack.jetbrains.com/issue/TW-25141。如果您感兴趣,可以投票支持它,这可能会迫使JetBrains改进对python的支持。

好吧,那么如何让它与适当的TeamCity集成一起工作:

假设您安装了TeamCity,并且至少有一个可用的生成代理

1)配置生成代理以执行

manage.py test

2)下载并安装这个TChttp://pypi.python.org/pypi/teamcity-messages插件

3)您必须提供自定义测试运行程序,以便插件(2)工作。它可以是django.test.simple中run_tests的直接副本,只需稍作修改:用TeamcityTestRunner替换调用test runner的行,因此

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配置属性指定一个custome测试运行程序,如下所示:

TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests'

确保在文件名中引用所有必需的导入,并进行运行测试

你可以通过跑步来测试

./manage.py test

从命令行并注意到输出已更改,现在消息如下

#teamcity....

出现在里面。

相关问题 更多 >