Python Codebase için Sürekli Entegrasyon Sistemi

oy
48

Ben bir hobi projesi üzerinde çalışmaya başlıyorum Python yani test durumlarda bir check-in yapılan her zaman bir bataryayı çalışan ve sorumlu için nag e-posta gönderme (kod tabanı ve sürekli entegrasyon çeşit kurmak istiyoruz benzer kişiler test başarısız) CruiseControl veya TeamCity .

Ben çoğunda kancalı bu yapabileceğini fark VCSes , ama bu testler istediğim kadar zarif değildir sürüm kontrol sunucu olarak aynı makinede çalıştırmak gerektirir. Herkes bir uygun küçük, kullanıcı dostu, açık kaynak sürekli entegrasyon sistemi için herhangi bir öneriniz var mı Python kodu tabanında?

Oluştur 02/08/2008 saat 19:43
kaynak kullanıcı
Diğer dillerde...                            


7 cevaplar

oy
26

Bir olasılık Hudson. Java ile yazılmış, ancak Python projeler ile entegrasyonu var oluyor:

Hudson Python kucaklayan

Ben ancak, kendim hiç denemedim.

( Güncelleme , Eylül 2011: Bir marka tartışma sonucunda Hudson olarak değiştirilmiştir Jenkins .)

Cevap 02/08/2008 saat 19:56
kaynak kullanıcı

oy
25

Biz koşmak BuildBot'ın - Trac'inizi işte. Benim kod temeli henüz serbest bırakma döngüsünün parçası değildir çünkü çok fazla kullanmadım. Ama biz (OSX / Linux / Win) farklı ortamlarda ilgili testler ve e-posta gönderir - ve Python ile yazılmış.

Cevap 02/08/2008 saat 20:06
kaynak kullanıcı

oy
17

Biz Jython gelişimi için hem BuildBot'ın ve Hudson kullanın. Hem faydalıdır, fakat farklı güçlü ve zayıf yönleri vardır.

Eğer (En güncel bilgi için epydoc oluşturulan API docs bakmak) onu asmak aldıktan sonra BuildBot'ın yapılandırma Python saf ve oldukça basit. BuildBot'ın daha kolay olmayan test görevleri tanımlar ve test dağıtmak için yapar. Ancak, gerçekten bireysel testler, sadece metinsel, HTML ve özet çıkışı kavramı yok, bu nedenle çok seviyeli göz atılabilir bir test çıktısı olmasını istiyorsanız ve eğer benzeri kendiniz kurmak, ya da sadece Hudson kullanmak gerekecektir.

Hudson testi suit ve bireysel testlerin içine genel sonuçları aşağı sondaj için müthiş desteği vardır; o da inşa arasındaki Test çıkışını karşılaştırmak için harika ama sen de kölelere bir Java ortamı gerektiğinden dağıtılan (Master / Slave) şeyler nispeten daha karmaşıktır; Ayrıca, Hudson Master ve slave arasındaki yapraksı ağ bağlantılarının daha toleranslıdır.

Yani, her iki araçların yararlanmak için, ortak bir test hatalarını yakalar Hudson, tek bir örneğini çalıştırın, o zaman BuildBot'ın ile çok platformlu regresyon yapmak.

İşte örnekleri şunlardır:

Cevap 15/09/2008 saat 01:11
kaynak kullanıcı

oy
17

İkinci BuildBot'ın - Trac entegrasyon. Üzerinde entegrasyonu hakkında daha fazla bilgi bulabilirsiniz BuildBot'ın web . Önceki işim anda, yazdığı ve söz eklentisi (tracbb) kullanılır. Ne eklenti yapar sen Trac içinden BuildBot'ın kullanabilmesi BuildBot'ın URL'lerin tüm yeniden yazmayı olduğunu. ( Http://example.com/tracbb ).

BuildBot'ın konuda gerçekten güzel bir şey yapılandırma Python ile yazılmış olmasıdır. Sen yapılandırmaya doğrudan kendi Python kodu entegre edebilirsiniz. Aynı zamanda belirli görevleri yürütmek için kendi BuildSteps yazmak çok kolaydır.

Biz, vesaire, SVN'den kaynak almak bağımlılıkları çekin WebDAV Test sonuçlarını yayımlamak için BuildSteps kullandı.

biz inşa sonuçlarla sinyalleri gönderebilir yüzden bir X10 arayüzü yazdı. inşa başarısız olunca, biz kırmızı gaz lambası açık. inşa başarılı olduğunda, yeşil bir lav lambası açık. İyi zamanlar :-)

Cevap 03/08/2008 saat 13:09
kaynak kullanıcı

oy
7

Biz kullandığınız Bitten wich piste ile entegre edilmiştir. Ve bu piton dayanıyor.

Cevap 16/09/2008 saat 17:51
kaynak kullanıcı

oy
6

TeamCity bazı Python vardır entegrasyonu .

Ama TeamCity geçerli:

  • değil açık kaynak
  • küçük değil, daha ziyade zengin özelliklere
  • küçük-orta takımlar için ücretsizdir.
Cevap 22/09/2008 saat 22:18
kaynak kullanıcı

oy
5

Ben çok iyi deneyimler var Travis-CI küçük kod üsleri için. Başlıca avantajları şunlardır:

  • Kurulum yapılandırma dosyasının yarısından az bir ekran yapılır
  • Kendi kurulum yapmak ya da sadece ücretsiz barındırılan sürümünü kullanabilirsiniz
  • github depoları için yarı otomatik ayar
  • Web sitesinde gerekli hiçbir hesap; github ile giriş

Bazı sınırlamaları:

  • Python (bkz yazma zaman itibariyle; ancak bu durumda pip kullanabilir ve piton bağımlılıkları yüklemek için apt-get bir birinci sınıf dil olarak desteklenmez bu öğretici )

  • kodu (en azından resmi sürümünü kullanırken) github üzerinde barındırılan zorundadır

Cevap 02/02/2012 saat 22:42
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more