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.
Jenkins is one of the most popular free open-source CI solutions that is widely used in software engineering. It is a server-based CI application, written in Java that requires a web server to operate on. Thousands of users all over the world love working with Jenkins as it allows automating builds and tests quickly.
GitLab. Summary: Gitlab is a new CI Tool which offers a full DevOps experience. Gitlab was created with intentions to improve Github's overall experience. Gitlab offers a modern UX with container support.
CodeLobsterCodeLobster IDE from Codelobster software firm is the most popular one among the PHP development tools for the developer community. It supports most of the PHP frameworks like Symfony, Laravel, CodeIgniter, CakePHP, Magento, Joomla, and Drupal.
GoCD is an Open source Continuous Integration server. It is used to model and visualize complex workflows with ease. This CI tool allows continuous delivery and provides an intuitive interface for building CD pipelines.
Jenkins (formerly Hudson) is by far the best solution. It has a nice PHP integration (see http://jenkins-php.org/)
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With