Prskavčí blog

Feb 26, 2009 - Comments

Hudson a PHP

Hudson, extensible continuous integration engine

Hudson je obdoba CruiseControl a Xinc, ale oproti těm má jednu zásadní výhodu a to, že jeho vývoj jede poměrně slušným tempem a programátoři v Javě co znám ho používají. Pokud jsme chtěli mít jeden server, kde běží integrace pro Javu a PHP je podle mě v této době nejlepší sáhnout právě po Hudson.

Instalace

01_dashboard-hudson_1235663237019

Build

  • pro build jsem použil Phing, ale stejně můžete použít Ant

${builddir}/reports/checkstyle.xml” escape=“false” />

Příklad konfigurace

Project name
StartPage
Source Code Management
Subversion
Build
Execute shell

<ul>
  <li><code>phing -f $WORKSPACE/source/build.xml -Dws=$WORKSPACE -Dtmp=$WORKSPACE</code></li>

Post-build action

Publish Javadoc
  • Javadoc directory = build/start_page/apidocs/
  • Retain javadoc for each successful build = false
Publish JUnit test result report
Test report XMLs = build/start_page/reports/phpunit.xml

Publish Checkstyle analysis results
Checkstyle results = build/start_page/reports/checkstyle.xml

Publish PMD analysis results

PMD results = build/start_page/reports/phpunit.pmd.xml

Publish Clover Coverage Report

<dd>Clover report directory = <code>build/start_page/reports/coverage/</code></dd>


Screenshots

V galerii jsou obrázky z Hudsona, nepřidal jsem obrázky, které vedou na dokumentaci v html formátu na code coverage report v html. Jsou tam jen výstupy, které zobrazuje Hudson nebo pluginy.

[gallery link=“file”]

Závěr

Moje řešení není dokonalé, ale funkční a doufám, že to pomůže rozmnožit Hudson i mojo Java komunitu. Pokud Hudson pro PHP někdo použív budu rád, když se podělíte o zkušenosti v komentářích.