Archív

Příspěvek oštítkován ‘hudson’

PHP CodeBrowser a Hudson

11.12.2009 Bez komentářů

Před časem se objevil nový reportovací nástroj, který vezme logy z PHPUnit, PHP_Codesniffer a umí je pěkně zobrazit.

Instalace je z PEAR (http://pear.phpunit.de/get/)

pear config-set preferred_state alpha
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHP_CodeBrowser

nebo z SVN

svn co svn://phpunit.de/phpunit/phpcb/trunk PHP_CodeBrowser

Integrace
Tento tool jde integrovat do CIE

Postup integrace do Hudsonu si ukážeme

  1. Potřebujete do Hudsonu doinstalovat plugin HTML Publisher Plugin
  2. Nastavíte build script by používal phpcb

    <target name="phpcb">
    <exec executable="phpcb" dir="${basedir}/source">
    <arg line="--log reports/logs/
    --source source/
    --output reports/phpcb/" />
    </exec>
    </target>
  3. Nastavíte HTML Publisher plugin, aby četl html, které vyrobí phpcbhudson_phpcb
    • HTML Directory to archive
      Cesta k reportům podle toho jak jste si to nastavili v build skriptu, u mne reports/phpcb/
    • Index page[s]
      Defaultně je index.html, ponechejte.
    • Report title
      Nastavte co chcete, dal jsem PHP CodeBrowser

Výsledek bude vypadat nějak takto:

hudson-phpcb-3

PHP_CodeBrowser sám o sobě nepřidává žádnou funkcionality, ale umožňuje získané výsledky pěkně a přehledně zobrazit. To se hodí a pokud jste příznivci použítí jednoduchého Hudsonu jako já, doufám že vám to bude k užitku.

PHP_CodeBrowser můžete samozřejmě použít i bez jakékoliv integrace, protože je to běžné HTML. Pokud používáte verzi z SVN jako já pozor na to, že verze pokud jí pouštíte symlinkem nefunguje úplně správně musíte být v adresáři kde máte PHP_CodeBrowser a je lepší zadat plné cesty k logům phpunit i zdrojovým kódům.

PhpHudson

29.04.2009 Bez komentářů

Vyvořil jsem pro mě užitečnou třídu v php pro práci s Hudsonem, která má zatím implementovány základní věci z remote api, kterým Hudson disponuje. Knihovna používá Curl a pracuje s Hudsonem přes REST.

Používám tuto knihovnu např. pro migraci všech jobů z jednoho hudsona na druhý.

Lehce můžeme totiž stáhnout všechny konfigurační soubory do jednoho adresáře.

getAllConfigs("/tmp/hudson/");

Potom můžeme projít adresář a založit jednotlivé joby.

createJob(basename(str_replace("-config.xml","",$file)), file_get_contents($dir.$file));
    }
    closedir($handle);
}

Pokud by chtěl někdo třídu používat, pracujte prosím se zdrojovým kódem:

svn checkout http://php4hudson.googlecode.com/svn/trunk/ php4hudson-read-only
Categories: continuous integration, php Tags:

Switch to our mobile site