Ini pertanyaan yang sedikit .. sia-sia, tetapi keluaran BuildBot tidak terlalu bagus untuk dilihat ..
Misalnya, dibandingkan dengan ..
..dan lainnya, BuildBot terlihat agak .. kuno
Saat ini saya bermain dengan Hudson, tetapi sangat Java-sentris (meskipun dengan panduan ini , saya merasa lebih mudah untuk mengatur daripada BuildBot, dan menghasilkan lebih banyak info)
Pada dasarnya: apakah ada sistem Integrasi Berkelanjutan yang ditujukan untuk python, yang menghasilkan banyak grafik mengkilap dan sejenisnya?
Pembaruan: Sejak saat ini proyek Jenkins telah menggantikan Hudson sebagai versi komunitas dari paket tersebut. Penulis asli telah pindah ke proyek ini juga. Jenkins sekarang menjadi paket standar di Ubuntu / Debian, RedHat / Fedora / CentOS, dan lainnya. Pembaruan berikut pada dasarnya masih benar. Titik awal untuk melakukan ini dengan Jenkins berbeda.
Pembaruan: Setelah mencoba beberapa alternatif, saya pikir saya akan tetap menggunakan Hudson. Integritas bagus dan sederhana, tetapi sangat terbatas. Saya pikir Buildbot lebih cocok untuk memiliki banyak build-slave, daripada semuanya berjalan pada satu mesin seperti yang saya gunakan.
Menyiapkan Hudson untuk proyek Python cukup sederhana:
- Unduh Hudson dari http://hudson-ci.org/
- Jalankan dengan
java -jar hudson.war
- Buka antarmuka web di alamat default
http://localhost:8080
- Pergi ke Kelola Hudson, Plugin, klik "Perbarui" atau serupa
- Instal plugin Git (saya harus mengatur
git
jalur di preferensi global Hudson) - Buat proyek baru, masukkan repositori, interval polling SCM, dan sebagainya
- Instal
nosetests
melaluieasy_install
jika belum - Di langkah pembuatan, tambahkan
nosetests --with-xunit --verbose
- Centang "Publikasikan laporan hasil pengujian JUnit" dan setel "XML laporan pengujian" ke
**/nosetests.xml
Hanya itu yang dibutuhkan. Anda dapat mengatur notifikasi email, dan pluginnya layak untuk dilihat. Beberapa yang saat ini saya gunakan untuk proyek Python:
- Plugin SLOCCount untuk menghitung baris kode (dan membuat grafik!) - Anda perlu menginstal sloccount secara terpisah
- Pelanggaran untuk mengurai keluaran PyLint (Anda dapat menyiapkan ambang peringatan, membuat grafik jumlah pelanggaran pada setiap build)
- Cobertura dapat mengurai output coverage.py. Nosetest dapat mengumpulkan cakupan saat menjalankan pengujian Anda, menggunakan
nosetests --with-coverage
(ini menulis output ke**/coverage.xml
)