2009-07-07 14 views
11

私はをLinux(Ubuntu)ボックスに設定しており、Python/Djangoプロジェクトの一部に使用したいと考えています。TeamCity for Python/Django継続的インテグレーション

問題は、次に何をすべきか分かりません。TeamCity用のPython固有のビルドエージェントを探してみましたが、成功はほとんどありませんでした。

どのように管理できますか?

答えて

22

オクラホマので、それが適切なチームシティーの統合での作業を取得する方法があります:あなたはチームシティーを実行するようにビルドエージェントを設定可能な少なくとも1ビルドエージェント

1)をインストールしていると仮定

manage.py test 

2)あなたは、あなたのカスタムを提供する必要があります)TC http://pypi.python.org/pypi/teamcity-messages

3のために、このプラグインをダウンロードしてインストール(2)のプラグインのテストランナーが動作するようにします。それは、唯一のわずかな変更で、django.test.simpleからrun_testsの直線コピーすることができます。そう

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

のinsted、テストランナーがTeamcityTestRunnerと呼ばれている行を置き換え、これを使用します。

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

TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests' 

メイクシュール:あなたはこのようにDjangoのTEST_RUNNER構成プロパティを使用して、ソリューション内のファイルにその機能を配置する必要があり、そして、カスタマーのテストランナーを指定します電子あなたのfile_name_with_run_tests

内のすべての必要な輸入品を参照するコマンドラインから

./manage.py test 

を実行すると、出力は今

に登場
#teamcity.... 

のようなメッセージを変更したことに気づいてそれをテストすることができますそれ。

1

TeamCityの問題追跡ツールに機能リクエストを追加し、完全な機能を備えたPythonをサポートしました。これはリンク:http://youtrack.jetbrains.com/issue/TW-25141です。興味があれば投票して、JetBrainsにPythonのサポートを強化させるかもしれません。

関連する問題