Esta é uma pergunta ligeiramente ... vã, mas a saída do BuildBot não é particularmente agradável de se olhar ..
Por exemplo, em comparação com ..
..e outros, BuildBot parece bastante .. arcaico
No momento estou jogando com Hudson, mas é muito centrado em Java (embora com este guia , achei mais fácil de configurar do que BuildBot e produziu mais informações)
Basicamente: existe algum sistema de integração contínua voltado para python, que produz muitos gráficos brilhantes e similares?
Atualização: desde então, o projeto Jenkins substituiu Hudson como a versão da comunidade do pacote. Os autores originais também mudaram para este projeto. 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 com Jenkins é diferente.
Atualização: depois de tentar algumas alternativas, acho que vou ficar com Hudson. A integridade era boa e simples, mas bastante limitada. Acho que o Buildbot é mais adequado para ter vários build-slaves, em vez de tudo rodando em uma única máquina como eu estava usando.
Configurar o Hudson para um projeto Python foi muito simples:
- Baixe o Hudson em http://hudson-ci.org/
- Execute com
java -jar hudson.war
- Abra a interface da web no endereço padrão de
http://localhost:8080
- Vá para Gerenciar Hudson, Plugins, clique em "Atualizar" ou similar
- Instale o plugin Git (tive que definir o
git
caminho nas preferências globais do Hudson) - Crie um novo projeto, entre no repositório, intervalos de sondagem SCM e assim por diante
- Instale
nosetests
viaeasy_install
se ainda não estiver - Na etapa de construção, adicione
nosetests --with-xunit --verbose
- Marque "Publicar relatório de resultado de teste JUnit" e defina "XMLs de relatório de teste" para
**/nosetests.xml
Isso é tudo o que é necessário. Você pode configurar notificações por e-mail e vale a pena dar uma olhada nos plug-ins . Alguns que estou usando atualmente para projetos Python:
- Plugin SLOCCount para contar linhas de código (e representá-lo graficamente!) - você precisa instalar o sloccount separadamente
- Violações para analisar a saída PyLint (você pode configurar limites de aviso, representar graficamente o número de violações em cada compilação)
- Cobertura pode analisar a saída de cover.py. Nosetest pode obter cobertura durante a execução de seus testes, usando
nosetests --with-coverage
(isso grava a saída em**/coverage.xml
)