Question

I am searching for a good system for PHP, which does UnitTesting, Subversion, Coding Standards.

I would love to hear your suggestions and which one is the best and why. I will be running it on a debian server so anything which runs on mac or windows servers would be out of the question.

Was it helpful?

Solution

I second Hudson for CI and PHP. I have written a tutorial on setting it up if you are interested.

Edit:

My tutorial is out of date.

I highly recommend: http://jenkins-php.org/

OTHER TIPS

We have played with Xinc, but we stuck with phpUnderControl for now. It seemed a bit more mature, when we evaluated the different solutions.

phpug came with the obvious support for phpUnit, also generates docs (phpDocumentor) uses xdebug code coverage and project mess detection and even checks on CS (through phpcs). As for phpUnit, you can now even run phpt-style tests with it which makes it for some people easier to write tests.

And even though phpug adds CruiseControl and Java to the game it hasn't been much of a hassle for us. Not as much as I assumed anyway. :) I mean, that's the advantage with a Java-based service. (Assuming you have the JDK) You just download and run it. That easy. I am not familiar with Java on Debian, but last time I checked it wasn't an issue.

As for commercial solutions I know a bunch of PHP shops that use Bamboo (along with the complete Atlassian suite).

After working for a long time with phpUnderControl we finally decided to switch to the Hudson CI server.

Reasons: Easier maintenance, better quality, great community.

phing is an Ant clone/workalike written in php. I use it to run phpunit tests, checkstyle coding standards checks, static website generation and tarball packaging of apps. It's fairly simple to write a custom task to integrate any php application or shell script runnable program into your build process that isn't already supported.

I think you're talking about Continuous Integration. The best thing you can use is CruiseControl + Ant + phpUnderControl + phpUnit + PHP_CodeSniffer + Xdebug. With this chain you will swing to the fans :)

If it's continuous integration that you're looking for have you checked out TeamCity? It's not specifically for PHP but it's very easy to set up and manage. It's also free for the professional licence (20 build configs) and for open source projects.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top