Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Chris Hartjes' Blog:
Twitter Asks: Continuous Integration Landscape for PHP Developers
Jan 03, 2011 @ 16:02:01

In another of his "Twitter Asks" series of posts, Chris Hartjes takes a look at continuous integration in PHP applications and some of his choices/personal preferences when it comes to the technology to use.

For those not familiar with the concept of Continuous Integration, I can sum it up with one very glib phrase: it lets you break your code before you buy it. By this I mean, when combined with other programming practices like automated deployment and Test Driven Development, you get a chance to see if the code you’ve written *today* breaks anything you wrote *yesterday*.

He points out some of the major advantages to having a continuous integration (CI) system set up for your application or site including the biggest - knowing your code is broken before it even gets released. He talks about various deployment/CI tools he's seen including phpUnderControl, Xinc and Hudson (with his preference falling on the last). He doesn't get into the setup of the tools much - each application's setup is different anyway - but he does give an overview of how the process flows in his sample build. One of the keys is having good tests to support the application. Only with those set up will you know when things are badly broken.

tagged: continuous integration developer hudson unittest

Link:

Volker Dusch's Blog:
Setting up Hudson for PHP Projects in 15 minutes
Dec 22, 2010 @ 16:40:33

Volker Dusch has posted a guide perfect for those looking to get their projects set up with the Hudson continuous integration tool quickly (15 minutes or so).

While [running tests on commit] is great it can be pretty tedious to run the whole test suite every time before a commit but not doing it leads to a broken test suite that other people have to repair or go around asking who broke it.. make up your own story. This is where a continuous integration (ci) server jumps in ! Every time you commit, or push if you're using git, to a repository it detects the change, gets the new version of the source, runs all your tests (and more if you tell it to) and notifies you if there was a Problem.

He chose Hudson because of its simple setup, going from download to install and configured in around five minutes. It includes a plugin system with one of the "big ones" being the xUnit integration. Included in the post is every command you'll need to get it up and running on a linux (Ubintu) system including all plugins needed and the setup of a simple project's XML configuration file (with the code to run it on).

tagged: hudson project setup tutorial simple project phpunit unittest

Link:

Ibuildings techPortal:
Building an Continuous Integration Server for PHP with Hudson
Sep 21, 2010 @ 15:02:53

On the Ibuildings techPortal there's a new tutorial from Ben Longden about setting up Hudson as a continuous integration server for the deployment of your application(s). Tools like Hudson allow you to create consistent builds and automatically handle tasks that might get overlooked by a person doing the deployment.

Continuous integration (CI) is fast becoming part of the standard development model for creating high quality software, and rightly so. Delivering reliably high quality software is in the best interest of yourself, your manager and your clients. This is not an article about Continuous Integration itself, but will introduce Hudson, a key tool, and may help you to implement your own CI strategy.

He talks about one of the most important aspects of continuous integration - unit testing - and how the popular PHPUnit tool easily integrates as a part of a Hudson build. The automation it allows lets you constantly run tests, helping you catch issues before they make it to the live site. He walks you through the install of Hudson, Xdebug, PHPUnit and Ant - all of the tools you'll need for the basic setup. He includes instructions for configuring these tools to work together and some additional tools you can layer on top (like the PHP Mess Detector, PHPCodeSniffer and the PHP Copy and Paste Detector).

tagged: continuous integration server hudson tutorial install configure

Link:

Chris Hartjes' Blog:
Twitter Asks: Continuous Integration Landscape for PHP Developers
Sep 08, 2010 @ 15:42:42

After asking for topics to blog about on Twitter, Chris Hartjes has posted the first response to the suggestions - a look at continuous integration (CI) in PHP environments.

For those not familiar with the concept of Continuous Integration, I can sum it up with one very glib phrase: it lets you break your code before you buy it. [...] If I were to design a Continuous Integration (hereafter referred to as CI) system, what would it look like?

His requirements include version control integration, easy unit test execution, a web interface and be able to automate it all at a moment's notice. He talks about the importance of unit testing in CI and the tools that are available for the job like phpUnderControl, Xinc and Hudson. He also looks at the build process, from check-in through a successful build result and how he handles bugs when they do pop up.

tagged: continuous integration developers hudson phpundercontrol xinc

Link:

Chris Hartjes' Blog:
Snakes and Elephants Playing Nice Together: PHPUnit and py.test with Hudson
Jul 30, 2010 @ 17:03:23

In the latest post to his blog Chris Hartjes talks about how he got python and PHP working together as a part of his testing with Hudson.

These days, it's becoming increasingly harder to find web applications that are homogenous in terms of the tools they use to Get Things Done. [...] Loosely coupled components, passing messages to each other, is great architecture to try and build if you have both the skills and patience to make it work.

His technique combines the testing of PHPUnit for PHP with the Py.test functionality for Python with the continuous integration tool Hudson to run them both as a part of the same build process.

tagged: python unittest phpunit pytest hudson continuous integration build

Link:

Benjamin Eberlei's Blog:
Resources for a PHP and Hudson CI Integration
Feb 08, 2010 @ 20:13:28

Benjamin Eberlei has a new post to his blog today pointing you to some PHP & Hudson CI integration resources that can help you get this powerful combination up and running for your deployment process.

Although phpUnderControl is the most wide-spread, but from I heard complex to setup/maintain, solution supposedly a hack and Arbit just in an early Alpha I decided to give Hudson a shoot. Another reason for this decision, I heard it has a simple plugin architecture and is easy to install and use.

He moved away from his own bash script-based CI setup towards something a bit more technical, something that would give him a bit more control over running unit tests, create code coverage, etc. He lists three sites that helped him get his Hudson install up and running and another is mentioned in the comments.

tagged: hudson ci resource continuous integration

Link:

Dave Gardner's Blog:
Setting up continuous integration for PHP using Hudson and Phing
Nov 10, 2009 @ 14:46:25

Dave Gardner has posted an excellent guide to getting Hudson (a continuous integration server) working together with a Phing deployment instance for your PHP applications.

In this, my first post, I'm going to write about the benefits of Unit Testing and how Continuous Integration (CI) can be used to get the best out of Unit Testing. This will include details of how I setup a CI system using Hudson CI server, Phing build tool combined with various other analysis tools (including PHP Unit).

All of the details are there - definitions of the terms involved (like "CI" and "unit test"), the steps to install both Hudson and Phing, installing some of the more popular PHP tools (PHPUnit, PHP_CodeSniffer, PHP_Depend) and setting up the configurations for both the Hudson install and Phing to run their four step deployment process.

tagged: contunuous integration phing hudson tutorial

Link:

Ladislav Prskavec's Blog:
PHP and Hudson
Oct 09, 2009 @ 18:58:39

Ladislav Prskavec has posted a step-by-step guide on getting Hudson (a Java-based continuous integration server) working with PHP.

Hudson is extensible continuous integration engine used for Java projects. It’s architecture can be used for others languages as PHP too.

The guide links you to the files and packages you'll need to get PHP support installed (including a few different plugins), a sample build script for a build tool like Phing and an example Hudson configuration to tie them together. The Phing process is executed in a shell to run unit tests, build documentation and check the syntax on all files in the current repository.

tagged: hudson continuous integration java

Link:


Trending Topics: