News Feed
Jobs Feed
Sections



Recent Jobs

News Archive
feed this:

Marcelo Gornstein's Blog:
PHP Continuous integration, with Jenkins and Phing
April 27, 2012 @ 12:18:30

On his site Marcelo Gornstein has published a new guide to getting a basic automated continuous integration server set up with Jenkins and Phing.

This article is about how to use Phing in your projects, so a continuous integration server (in this case artifacts for your php application (deployment artifacts, documentation, code metrics, etc). I'll try to show why this will make your life easier when developing or auditing code, generating releases and deploying new versions, trace bugs, etc. All with just a handful of phing tasks.

He introduces the Phing tool and explains how it makes automating the steps of your process simpler, relating it to the Apache Ant tool for those familiar with it. He links to several of the resources used in the process including PHPLoc, DocBlox and the code for the article itself. He outlines the process and, complete with a screenshot of the final result, shows you how to get everything configured and running smoothly.

0 comments voice your opinion now!
continuous integration jenkins phing testing automation



PHPMaster.com:
Continuous Integration (with Jenkins), Part 2
April 02, 2012 @ 08:18:49

Following up from his previous post about setting up PHP with Jenkins, J Armando Jeronymo is back with part two of the series - setting up an example project to show how the pieces fit together.

In the first part of this article I presented the case for Continuous Integration. Now we'll install and set Jenkins up to monitor the automatic building of a simple demonstration PHP application. We'll begin with the demo project, then address Jenkins' installation, and finally set it up and watch it running.

He includes a sample project structure, complete with a PHP class and its tests. He shows how to manually run things first (so you'll know what the commands do), the contents of the class/tests and the example Ant configuration file. He's also included screenshots of the Jenkins interface, showing how to create a build, add a new step and let the build run to evaluate the results.

0 comments voice your opinion now!
tutorial jenkins continuous integration phpunit unittest ant build


PHPMaster.com:
Continuous Integration (with Jenkins), Part 1
March 26, 2012 @ 08:47:38

For anyone out there wanting to get a build process going for their latest project (or maybe even an older one), PHPMaster.com has the first part of a series about doing continuous integration with Jenkins posted with some good tips for you to get started.

What Jenkins does is not difficult to understand once you know why it does that. In this 2-part series I'll present a big-picture overview of the sort of programming problems CI can solve, show how it can be achieved with the help of specialized software and explain how Jenkins can be minimally used to periodically trigger testing and building of PHP (web)applications, keeping a record of where integration succeeded or failed and maintaining an "output" folder up-to-date with the latest files that the application requires, ready to be uploaded to the server.

He uses a story to illustrate the usefulness of a Jenkins CI server, telling about different people working on different parts of an application and the differing decisions they all make about the code. He talks about how, with the help of a CI server, they could have avoided "integration hell" when they tried to bring their work back together and how things like version control, unit testing and automated builds could help.

There's brief instructions at the end to be sure you have two things set up before continuing on with the rest of the series - git for version control and ant for the build process.

0 comments voice your opinion now!
continuous integration jenkins tutorial introduction


PHPBuilder.com:
Getting Started with Jenkins for PHP Developers
June 22, 2011 @ 09:20:26

On PHPBuilder.com today there's a new tutorial from Jason Gilmore helping you get started with Jenkins for building and deploying your PHP applications. Jenkins (formerly Hudson) can make things "one click simple" for you to correctly push your applications live every time.

Although a Java-based solution, an active plugin community has made it possible to use Jenkins for far more than Java-specific projects. More recently it has become much easier for Jenkins' novices to use the project in conjunction with PHP projects thanks to the work of Sebastian Bergmann. Known as Template for Jenkins Jobs for PHP Projects, the project provides a configuration file which you'll use to enable Jenkins/PHP integration, and supports several popular familiar PHP tools such as PHP_CodeSniffer and PHPUnit.

He walks you through a brief installation of Jenkins (packages on a Debian install) and shows you how to get your git repository, the source for it to pull from) configured and ready to pull. He also includes some other screenshots showing you where to look for the build status, results from past builds and how to get the system to build documentation as a part of the build.

0 comments voice your opinion now!
jenkins install tutorial build template deploy git


DZone.com:
Automated code reviews for PHP
June 16, 2011 @ 10:06:47

On the Web Builder Zone (a part of DZone.com) Giorgio Sironi take a high-level look at some of the tools you can use for automated code reviews in your projects without you ever having to lift a finger (well, once it's set up, of course).

I'm exploring an approach to automated code review: it's not as precise as the human-based one, but it scales better. [...] All in all, automated code reviews, performed with tools instead of with human intellect, can be a starting point to search for the problematic zones of a codebase. Then the human may come in, since they also have to clean up the code: their intervention was already scheduled.

The tools he mentions (and, in some cases, shows how to install/use) are:

0 comments voice your opinion now!
automated code review tools phpunit phpdepend pmd jenkins


Stefan Koopmanschap's Blog:
API documentation in Jenkins with DocBlox
May 02, 2011 @ 11:26:40

In a new post to his blog Stefan Koopmanschap shows you how to get DocBlox installed for your documentation-generation needs as an alternative to phpDocumentor.

People using PHP that want API documentation usually automatically think of phpDocumentor, which used to be the de facto standard for generating API documentation from your PHP projects. However, the project has been dormant for a long time now and definitely does not support new PHP features such as namespaces, so it was really time to look for an alternative. In this blogpost, I'll show you how I set up my Jenkins CI to use DocBlox, one of the new API documentation generators currently available.

The DocBlox project is in active development and supports additional things in top of the current feature set phpDocumentor includes. Stefan gives you the exact XML you'll need to include in your Jenkins build file (and the phpDocumentor line it will likely replace) that builds out the documentation to a given path. He's given an example of his full build file to give you some context too.

0 comments voice your opinion now!
docblox phpdocumentor jenkins build alternative


Volker Dusch's Blog:
Dealing with segfaults while PHPUnit code coverage generation for CI
April 14, 2011 @ 11:55:13

Volker Dusch has a new post to his blog looking at handling segfaults during code coverage generation that might come up during your continuous integration process (with PHPUnit flavor unit tests).

About half the "Build failed" mails I've gotten from Jenkins in the last two weeks where not due to me breaking the tests but just PHPUnit segfaulting. "Wait! I know PHPUnit can't segfault!", only PHP itself can. And it does, quite often. For some reason that probably has to do with using PHP 5.2.OLD it doesn't survive generate the clover.xml file or the HTML report about 20% of the times it's being run.

He finds a solution to keep this from happening - not correcting the segfault as much as running the testing again to get it to pass. He wraps the call to PHPUnit inside of a simple shell script that tries to execute the PHPUnit testing suite as long as a segfault isn't thrown. If something was seriously broken, this could cause all sorts of problems, but in theory it's a simple hack that gets the job done.

0 comments voice your opinion now!
jenkins phpunit build continuousintegration codecoverage segfault


Volker Dusch's Blog:
Please ship your own coding standard as part of your project
March 14, 2011 @ 11:32:47

Volker Dusch has a suggestion for all of the PHP projects (or, really Open Source projects in general) that can help keep things cleaner in your codebase and make for simpler times when merging contributions - including your coding standard along with the rest of your project.

Let me elaborate on [an important] point: Contribution. Most developers i know care about producing good code, especially then they are contributing to an open source project! Those people will respect your coding standard, naming scheme and every thing else that they can check for before sending you all patch/pull request. So try to make that part easy.

He talks about doing things the hard way - reformatting everything by hand each time someone contributes - or the easier way of enforcing the coding standard as a part of the contribution flow. He mentions PHP_CodeSniffer and the PHP Mess Detector as a part of a Jenkins installation (easily built from this handy project).

0 comments voice your opinion now!
coding standard phpcodesniffer phpmessdetector jenkins contribution


Sebastian Bergmann's Blog:
PHP Project Wizard
February 07, 2011 @ 10:35:06

In this new post to his blog Sebastian Bergmann mentions yet another new tool he's released - the PHP Project Wizard, a tool that helps with the creation of configuration files for setting up project build automation.

The PHP Project Wizard (PPW) is a commandline tool that can be used to generate the scripts and configuration files necessary for the build automation of a PHP project. Given the location of a project's directories with sourcecode and tests as well as the project's name, the PHP Project Wizard generates scripts and configuration files necessary for build automation using Apache Ant.

An example of its use is included - a simple call to the shell script with information about the source, tests and project directories. It then generates the XML files for Ant and PHPUunit to run. The result can then be used in the Jenkins jobs for PHP setup seamlessly.

1 comment voice your opinion now!
project wizard jenkins apache ant automatic build


Sebastian Bergmann's Blog:
Template for Jenkins Jobs for PHP Projects
February 04, 2011 @ 12:09:25

Sebastian Bergmann has a new post to his blog today talking about the Jenkins template he's put together to help PHP projects get started quickly with the popular continuous integration tool (formerly Hudson).

Most web applications are changed and adapted quite frequently and quickly. Their environment, for example the size and the behaviour of the user base, are constantly changing. What was sufficient yesterday can be insufficient today. Especially in a web environment it is important to monitor and continuously improve the internal quality not only when developing, but also when maintaining the software.

The Template for Jenkins project gives you a standard template to build off of when setting up your environment. It includes links to the required plugins, the needed PHP tools (installed via PEAR) and the build configuration files. At the end, there's also a bit on how to get it all installed and configured. There's even a few screenshots to help you be sure things look okay.

0 comments voice your opinion now!
template continuous integration jenkins tutorial



Community Events





Don't see your event here?
Let us know!


injection unittest symfony2 application testing podcast phpunit language introduction database zendframework zendframework2 framework interview conference opinion release voicesoftheelephpant development community

All content copyright, 2012 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework