Recently I finished setting up Jenkins for starting CI at the new work place. The minimum requirements for the environment were:
- Jenkins server
- centos 6.2 (I could’ve used a different os, but centos was the company wide server os)
- VirtualBox for integration environment for component tests
- PHPUnit
- PHP DbUnit
- PHP CodeSniffer (I created company standard based on PEAR standard)
- PHP Mess Detector
- ant (initially I started phing, but decided to go with ant)
- phplint (php -l) 🙂
Our developer’s code coverage agreement is 70% or more. It’s working pretty nicely and it definitely gave our developers more confidence in the code and system that we are building although I am not 100% satisfied with the current setup yet because I really wanted to implement package deployment system. (For that I am generating tar file only when jenkins job passes and the file gets pushed to integration environment for component tests)
When I have some time, I will write about more details.