Kontinuální integrace systému pro Python codebase

hlasů
48

Začínám pracovat na hobby projektu s Python codebase a chtěl bych vytvořit nějakou formu kontinuální integrace (tedy běží baterii zkušebních případů Pokaždé, když check-in, který vytváří a vysílá Nag e-mailů, aby odpovědné osoby, kdy testy nedokážou) podobné CruiseControl nebo TeamCity .

Uvědomil jsem si, mohl jsem to udělat s háčky ve většině VCSes , ale to vyžaduje, aby zkouška, která proběhne na stejném stroji jako kontrolní verze serveru, který není tak elegantní, jak bych chtěl. Má někdo nějaké návrhy pro malé, uživatelsky přívětivé, open-source kontinuální integrace systému vhodné pro Python codebase?

Položena 02/08/2008 v 19:43
zdroj uživatelem
V jiných jazycích...                            


7 odpovědí

hlasů
26

Jednou z možností je Hudson. Je napsán v Javě, ale tam je integrace s Python projekty:

Hudson zahrnuje Python

Nikdy jsem to zkusil sám, nicméně.

( Aktualizace , září 2011: Po sporu obchodní známky Hudson byl přejmenován na Jenkins ).

Odpovězeno 02/08/2008 v 19:56
zdroj uživatelem

hlasů
25

Jezdíme Buildbot - Trac v práci. Osobně jsem nepoužil, že příliš mnoho, protože můj codebase není součástí cyklu uvolňování dosud. Ale my spouštět testy na různých prostředích (OSX / Linux / Win) a odešle e-maily - a to je napsaný v Pythonu.

Odpovězeno 02/08/2008 v 20:06
zdroj uživatelem

hlasů
17

Používáme jak Buildbot a Hudson rozvoje jazyce Jython. Oba jsou užitečné, ale mají různé silné a slabé stránky.

Konfigurace Buildbot je čistý Python a docela jednoduché, jakmile se dostanete na kloub (podívejte se na docs API epydoc generované pro nejaktuálnější info). Buildbot usnadňuje definovat non-testovacích úkolů a distribuovat testery. Nicméně, je to opravdu nemá žádnou představu o jednotlivých testů, jen textové, HTML a souhrnné výstup, takže pokud chcete mít multi-level procházet testovací výstup, a tak dále, budete muset postavit sami, nebo stačí použít Hudson.

Hudson má skvělou podporu pro vrtání dolů z celkových výsledků do testovacích sad a jednotlivých testů; je to také skvělé pro porovnávání testovacího výstupu mezi buduje, ale distribuovaná (master / slave) látka je poměrně složitější, protože budete potřebovat prostředí Java na otroky taky; Také, Hudson je méně tolerantní k dispozici spolehlivé síťové propojení mezi zařízeními master a slave.

Tak, aby se výhody obou nástrojů, budeme provozovat jednu instanci Hudson, který zachycuje společné zkoušky selhání, pak děláme multiplatformní regrese s Buildbot.

Zde jsou naše případy:

Odpovězeno 15/09/2008 v 01:11
zdroj uživatelem

hlasů
17

Za druhé to byla Buildbot - integrace Trac. Můžete si najít více informací o integraci na stránkách Buildbot . V mém předchozím zaměstnání, jsme psali a používal plugin Zmiňují (tracbb). Co to dělá, je plugin přepisovat všechny adresy URL Buildbot, takže můžete použít Buildbot zevnitř Trac. ( Http://example.com/tracbb ).

Opravdu pěkná věc, o Buildbot je, že konfigurace je napsán v Pythonu. Můžete integrovat svůj vlastní Python kód přímo do konfigurace. To je také velmi snadné psát své vlastní BuildSteps vykonávat konkrétní úkoly.

Použili jsme BuildSteps získat zdroje z SVN vytáhněte závislostí, zveřejnit výsledky testů na WebDAV, a tak dále.

Napsal jsem rozhraní X10, abychom mohli vysílat signály s výsledky stavět. Když sestavení selže, jsme přešli na červeném lávové lampy. Když sestavení uspěl, zelená láva lampa zapnutá. Dobré časy :-)

Odpovězeno 03/08/2008 v 13:09
zdroj uživatelem

hlasů
7

Použili jsme pokousal Wich je integrován s trac. A to na základě python.

Odpovězeno 16/09/2008 v 17:51
zdroj uživatelem

hlasů
6

TeamCity má nějaký Python integraci .

Ale TeamCity je:

  • Není open-source
  • není malá, ale nabitý funkcemi
  • je zdarma pro malé střední týmů.
Odpovězeno 22/09/2008 v 22:18
zdroj uživatelem

hlasů
5

Mám velmi dobré zkušenosti s Travisem-CI menších kódových bází. Hlavními přednostmi jsou:

  • Nastavení se provádí v době kratší než půl obrazovky konfiguračního souboru
  • si můžete udělat svůj vlastní instalaci, nebo jen využít bezplatné hostované verze
  • poloautomatické nastavení pro GitHub úložišť
  • žádný účet potřeba na webových stránkách; přihlášení přes GitHub

Některá omezení:

  • Python není podporována jako první jazyk třídy (k době psaní, ale můžete použít PIP a apt-get pro instalaci python závislostí, viz tento návod )

  • Kód musí být umístěn na github (alespoň pokud používáte oficiální verzi)

Odpovězeno 02/02/2012 v 22:42
zdroj uživatelem

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