views:

1698

answers:

8

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.

+1  A: 

Check out xinc.

Does it have a PHP_Codesniffer? I would love a feature list - can't find one on the website
Thomaschaaf
I don't see phpcs on the requirements nor anywhere in the sample build files. It had actually never occurred to me that they don't use that.
Till
A: 

What about Eclipse?

Ali
I am searching for continues integration on the server side..
Thomaschaaf
+2  A: 

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).

Till
+2  A: 

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.

bd808
A: 

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.

Mladen Mihajlovic
+1  A: 

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 :)

Did you try Hudson?
demonkoryu
+2  A: 

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.

Fedyashev Nikita
+3  A: 

Hi,

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

Continuous Integration for PHP with Hudson

mediaslave