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
- ze stránek si stáhnete war file a buď ho spustíte přímo
java -jar hudson.war(potřebujete volný port 8080 a JDK 1.5+) - nebo provede instalaci do některého servlet serveru (Tomcat, Jetty, JBoss, …)
- potom už na http://localhost:8080 běží hudson
- pro php doporučuji nainstalovat tyto pluginy
Build
${builddir}/reports/checkstyle.xml" escape="false" />
Příklad konfigurace
- Project name
- StartPage
- Source Code Management
- Subversion
- Repository URL:
https://localhost/svn/start_page/trunk - Local module directory (optional):
source - Use update: true
- Repository URL:
- Build
- Execute shell
phing -f $WORKSPACE/source/build.xml -Dws=$WORKSPACE -Dtmp=$WORKSPACE
- Post-build action
- Publish Javadoc
-
- Javadoc directory =
build/start_page/apidocs/ - Retain javadoc for each successful build =
false
- Javadoc directory =
- 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
- Clover report directory =
build/start_page/reports/coverage/
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.
