Art*_*Art 14 python django teamcity continuous-integration
我在Linux(Ubuntu)框中设置了TeamCity,并希望将它用于一些Python/Django项目.
问题是我真的不知道下一步该做什么 - 我尝试为TeamCity搜索Python特定的构建代理但没有太大的成功.
我该如何管理?
Art*_*Art 25
好的,那么如何让它与适当的TeamCity集成一起工作:
假设您安装了TeamCity,并且至少有一个构建代理可用
1)配置要执行的构建代理
manage.py test
Run Code Online (Sandbox Code Playgroud)
2)下载并安装TC插件http://pypi.python.org/pypi/teamcity-messages
3)您必须为(2)中的插件提供自定义测试运行器才能工作.它可以是来自django.test.simple的run_tests的直接副本,只有一个小的修改:用TeamcityTestRunner替换调用test runner的行,所以insted
def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]):
...
result = unittest.TextTestRunner(verbosity=verbosity).run(suite)
Run Code Online (Sandbox Code Playgroud)
用这个:
def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]):
...
result = TeamcityTestRunner().run(suite)
Run Code Online (Sandbox Code Playgroud)
您必须将该函数放入解决方案中的文件中,并使用Django的TEST_RUNNER配置属性指定一个客户测试运行器,如下所示:
TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests'
Run Code Online (Sandbox Code Playgroud)
确保在file_name_with_run_tests中引用所有必需的导入
你可以通过运行来测试它
./manage.py test
Run Code Online (Sandbox Code Playgroud)
从命令行,并注意到输出已更改,现在消息如
#teamcity....
Run Code Online (Sandbox Code Playgroud)
出现在其中.
小智 5
我已向 TeamCity 问题跟踪器添加了功能请求,以提供全功能的 Python 支持。这是链接:http: //youtrack.jetbrains.com/issue/TW-25141。如果您有兴趣,可以投票支持它,这可能会迫使 JetBrains 改进对 Python 的支持。
归档时间: |
|
查看次数: |
12077 次 |
最近记录: |