16

Possible Duplicates:
Setting up a deployment / build / CI cycle for PHP projects
Recommended server for Continuous Integration for PHP Project

Hello, guys! Recently I faced the need for continuous integration for some of my projects. And, to my surprise, there exist many tools for this purpose like CruiseControl with its plugin PhpUnderControl, Xinc (written in PHP), Hudson with lots of functionality etc. Also I studied the matter and, as far as I understood, installing and configuring such a tool takes quite a long time. Thus, it would be very dissapointing to spend much time for setting everything up and get to know that the tool lacks some crucial functionality. I address to those who have some experience with this matter and can give a piece of reasonable advice. Thank you!

Updated 26.04.2017: Years passed, I still use CI, but abandoned Jenkins in favor of Gitlab CI: it seems simpler, CI jobs can be configured directly in the project repository. And along with Docker, I believe, it's a very powerful solution that can be tailored for almost any kind of project.

Community
  • 1
  • 1
Yaronius
  • 754
  • 3
  • 16
  • 32

4 Answers4

15

Jenkins (formerly Hudson) is by far the best solution. It has a nice PHP integration (see http://jenkins-php.org/)

3

I can't give you a definitive answer as to what tools are the best (it's a very subjective question, and even if there was a clear leader, it may not remain the best in the future), but I'll do the next best thing and tell you what we're running:

We have a Hudson installation which runs a set of Phing scripts. The Phing scripts run PHPUnit (and a few other tools). Some of the PHPUnit tests are stand-alone unit tests; others run Selenium and test the software in a variety of browsers.

From what I gather, this seems to be a fairly common setup, and it works well for us.

That said, we use more than just PHP in-house - we have Java and .Net teams as well. Some of the tools may have been chosen in order to help us maintain a consistent interface for our continuous integration across the various teams.

Hope that helps.

Spudley
  • 157,081
  • 38
  • 222
  • 293
  • 2
    Thank you for the answer, Spudley! As for this question being subjective, I agree. But when I see many of those subjective answers that coincide, I suppose, I see some objective facts: if most of experienced php developers choose this tool, it means that this tool is useful indeed. – Yaronius Mar 28 '11 at 13:38
3

PHPUnderControl (Plugin for CruiseControl) and Jenkins-PHP (formerly known as Hudson-PHP) are the two big players. I recently switched from phpuc to jenkins. Its more flexible.

Edson Medina
  • 8,352
  • 3
  • 37
  • 48
KingCrunch
  • 119,075
  • 18
  • 142
  • 167
2

Cruise Control with PHP Under Control(phpuc) is one of the best solution for this.

http://cruisecontrol.sourceforge.net/

Gaurav
  • 26,880
  • 8
  • 47
  • 76