Integração Contínua "Bonita" para Python

Essa é uma pergunta um pouco vã, mas a saída do BuildBot não é particularmente agradável de se ver.

Por exemplo, comparado com ..

phpUnderControlJenkinsHudsonCruiseControl.rb

..e outros,BuildBot parece um pouco .. arcaico

Atualmente, estou tocando com o Hudson, mas é muito centralizado em Java (embora comeste guia, Achei mais fácil configurar do que o BuildBot e produzi mais informações)

Basicamente: existe algum sistema de Integração Contínua voltado para python que produza muitos gráficos brilhantes e coisas do gênero?

Atualizar: Desde esse momento, o projeto Jenkins substituiu o Hudson como a versão comunitária do pacote. Os autores originais também se mudaram para este projeto. O Jenkins agora é um pacote padrão no Ubuntu / Debian, RedHat / Fedora / CentOS e outros. A atualização a seguir ainda está essencialmente correta. O ponto de partida para fazer isso comJenkins é diferente.

Atualizar: Depois de tentar algumas alternativas, acho que vou ficar com o Hudson.Integridade era agradável e simples, mas bastante limitado. eu acho queBuildbot é mais adequado para ter vários build-slaves, em vez de tudo rodar em uma única máquina como eu a estava usando.

Configurar o Hudson para um projeto Python era bastante simples:

Download Hudson dehttp://hudson-ci.org/Execute-o comjava -jar hudson.warAbra a interface da web no endereço padrão dehttp://localhost:8080Vá para Gerenciar Hudson, Plugins, clique em "Atualizar" ou similarInstale o plugin Git (eu tive que definir ogit caminho nas preferências globais do Hudson)Crie um novo projeto, insira o repositório, os intervalos de pesquisa do SCM e assim por dianteInstalarnosetests através daeasy_install se ainda não estiverNa etapa a build, adicionenosetests --with-xunit --verboseMarque "Publicar relatório de resultado do teste JUnit" e defina "XMLs do relatório de teste" como**/nosetests.xml

É tudo o que é necessário. Você pode configurar notificações por email eos plugins valem uma olhada. Atualmente, estou usando alguns projetos Python:

SLOCCount plugin para contar linhas de código (e fazer o gráfico!) - você precisa instalarsloccount separadamenteViolações para analisar a saída do PyLint (você pode configurar limites de aviso, representar graficamente o número de violações em cada build)Cobertura pode analisar a saída da cobertura.py. O Nosetest pode obter cobertura durante a execução de seus testes, usandonosetests --with-coverage (isso grava a saída em**/coverage.xml)

questionAnswers(14)

yourAnswerToTheQuestion