KEMBAR78
Hudson Continuous Integration for PHP | KEY
Hudson for PHP
Jeremy Coates
 MD Magma Digital Ltd
   Founder PHPNW
  @phpcodemonkey
Continuous
         Integration?
Regular build / deployment of code

Enables automated documentation building,
testing, style checking

Dashboard / control panel to monitor state

Related to Unit Testing & other Agile
development practices
Why CI?
Improve quality of code, across development
teams. Open development, good peer
pressure

Ensure consistency of style, reduce
maintenance cycle overheads

Remove human nature laziness, it's automatic!

Prove it builds & deploys regularly, shorter
development cycle
Why CI? /cont

Each developer integrates at least daily

Those integrations are verified by the CI
build job

Issues are reported after the build,
opportunity to make right in short time
span
Why CI? /cont

Automate the hard / boring build steps

Risk management

Deployment automated, at least every day

Visibilty increases across development team

Confidence in build and software quality
increased
Workflow
Developer commits
code to VCS

CI Server detects
changes

CI Server checks out /
updates code, runs
tests, analyses code

CI Server feeds back to
development team
CI Servers

Bamboo

Cruise Control
(phpUnderControl)

Hudson

Own Scripts, linking
tools
http://hudson-ci.org/
More Resources
http://www.davegardner.me.uk/blog/
2009/11/09/continuous-integration-for-php-
using-hudson-and-phing/

http://www.phpunit.de/manual/current/en/
continous-integration.html

http://cruisecontrol.sf.net/

http://www.phpundercontrol.org/

http://www.atlassian.com/software/bamboo/
Jeremy Coates
 MD Magma Digital Ltd
   Founder PHPNW
  @phpcodemonkey

Hudson Continuous Integration for PHP