python - 用于 Python/Django 持续集成的 TeamCity

标签 python django continuous-integration teamcity

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

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

我该如何管理?

最佳答案

好的,这就是如何让它与适当的 TeamCity 集成一起工作:

假设您安装了 TeamCity 并且至少有 1 个可用的构建代理

1) 配置你的构建代理以执行

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....

出现在其中。

关于python - 用于 Python/Django 持续集成的 TeamCity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1091465/

相关文章:

python - Django:manage.py 不打印错误堆栈跟踪

python - Pandas - 计算和旋转以获得前两年的收入

python - Django查询ORM根据主键进行查询,然后从外键链接的联结表中获取信息

python - 在 Django 中,如何获取异常消息?

Azure 与用户上传的持续集成

python - ValueError : Conflicting metadata name name, 需要区分 Pandas 中的前缀

django - AutocompleteFilter 自递归外键过滤查询所有父级

jenkins - 我可以将 Jenkins 配置存储在项目存储库中吗(比如 Travis CI)?

continuous-integration - 如何将 Jenkins 与 Redmine 集成?

python - 是否可以将计算外包给 AWS 并在本地利用结果?