Bu biraz .. boş bir soru, ancak BuildBot'un çıktısına bakmak pek hoş değil ..
Örneğin, ile karşılaştırıldığında ..
..ve diğerleri, BuildBot daha çok .. arkaik görünüyor
Şu anda Hudson ile oynuyorum, ancak bu çok Java merkezli ( bu kılavuzla , BuildBot'a göre kurulumu daha kolay buldum ve daha fazla bilgi ürettim)
Temel olarak: python'u hedefleyen, çok sayıda parlak grafik ve benzerleri üreten Sürekli Entegrasyon sistemleri var mı?
Güncelleme: Bu zamandan beri Jenkins projesi, paketin topluluk sürümü olarak Hudson'ın yerini aldı. Orijinal yazarlar da bu projeye taşındı. Jenkins artık Ubuntu / Debian, RedHat / Fedora / CentOS ve diğerlerinde standart bir pakettir. Aşağıdaki güncelleme hala esasen doğrudur. Bunu Jenkins ile yapmanın başlangıç noktası farklıdır.
Güncelleme: Birkaç alternatif denedikten sonra Hudson'a sadık kalacağımı düşünüyorum. Dürüstlük güzel ve basitti, ancak oldukça sınırlıydı. Bence Buildbot , benim kullandığım gibi tek bir makinede çalışan her şeyden çok, çok sayıda yapı kölesine sahip olmak için daha uygun.
Hudson'ı bir Python projesi için ayarlamak oldukça basitti:
- Hudson'ı http://hudson-ci.org/ adresinden indirin
- İle çalıştırın
java -jar hudson.war
- Varsayılan adresinde web arayüzünü açın.
http://localhost:8080
- Manage Hudson, Plugins'e gidin, "Update" veya benzeri bir yere tıklayın
- Git eklentisini kurun (
git
Hudson genel tercihlerinde yolu belirlemem gerekiyordu ) - Yeni bir proje oluşturun, depoya girin, SCM yoklama aralıkları vb.
- Zaten değilse
nosetests
üzerinden yükleeasy_install
- Bir derleme adımında şunu ekleyin:
nosetests --with-xunit --verbose
- "JUnit test sonucu raporunu yayınla" yı kontrol edin ve "Test raporu XML'leri" ni şu şekilde ayarlayın:
**/nosetests.xml
Tüm gereken bu. E-posta bildirimleri kurabilirsiniz ve eklentiler görülmeye değer. Şu anda Python projeleri için kullandığım birkaç örnek:
- Kod satırlarını saymak (ve grafiğini çizmek !) İçin SLOCCount eklentisi - sloccount'u ayrı olarak yüklemeniz gerekir
- PyLint çıktısını ayrıştırmak için ihlaller (uyarı eşikleri ayarlayabilir, her derlemedeki ihlal sayısını grafiğe dökebilirsiniz)
- Cobertura , kapsam.py çıktısını ayrıştırabilir. Nosetest, testlerinizi çalıştırırken kapsam toplayabilir
nosetests --with-coverage
(bu, çıktıyı şuraya yazar**/coverage.xml
)