14
Pythonの「きれいな」継続的統合
これは少し無駄な質問ですが、BuildBotの出力は特に見た目が良くありません。 たとえば、と比較して phpUnderControl ジェンキンス ハドソン CruiseControl.rb ..その他、BuildBotはかなり古く見えます。 私は現在ハドソンで遊んでいますが、非常にJava中心です(このガイドを使用すると、BuildBotよりもセットアップが簡単で、より多くの情報が生成されます)。 基本的に:Pythonを対象とした継続的な統合システムはありますか? 更新:今回から、JenkinsプロジェクトがパッケージのコミュニティバージョンとしてHudsonに置き換わりました。元の作者もこのプロジェクトに移動しました。Jenkinsは、Ubuntu / Debian、RedHat / Fedora / CentOSなどの標準パッケージになりました。次の更新はまだ本質的に正しいです。Jenkinsでこれを行うための開始点は異なります。 更新:いくつかの代替案を試した後、私はハドソンに固執すると思います。整合性は素晴らしくシンプルでしたが、かなり制限されていました。Buildbotは、私が使用していたような1台のマシンですべてを実行するよりも、多数のビルドスレーブを使用する方が適していると思います。 Pythonプロジェクト用にHudsonを設定するのは非常に簡単でした。 Hudsonをhttp://hudson-ci.org/からダウンロードします。 で実行する java -jar hudson.war のデフォルトアドレスでWebインターフェイスを開きます http://localhost:8080 ハドソン、プラグインの管理に移動し、「更新」などをクリックします Gitプラグインをインストールします(gitHudsonのグローバル設定でパスを設定する必要がありました)。 新しいプロジェクトを作成し、リポジトリ、SCMポーリング間隔などを入力します まだインストールされnosetestsていeasy_installない場合は、 ビルドステップで、 nosetests --with-xunit --verbose 「JUnitテスト結果レポートの公開」をチェックし、「テストレポートXML」を **/nosetests.xml それだけで十分です。メール通知を設定でき、プラグインは一見の価値があります。私が現在Pythonプロジェクトで使用しているいくつか: コード行をカウントするSLOCCountプラグイン(そしてそれをグラフ化します!)- sloccountを個別にインストールする必要があります PyLint出力を解析するための違反(警告しきい値を設定し、各ビルドでの違反の数をグラフ化できます) Coberturaは、coverage.py出力を解析できます。Nosetestは、テストの実行中にカバレッジを収集できますnosetests --with-coverage(これにより出力がに書き込まれます**/coverage.xml)。