How to show PHP code in TeamCity build

Use case: As a developer I want to see PHP source code in TeamCity build.

It is quite useful sometimes to observe code that used for build and tests of a project.

1. Lets create an observable HTML-presentation of PHP code

We will use a remarkable tool PHP_CodeBrowser. This program generates html-files based on php code, highlight syntax and pack results in a user friendly view. Let’s install PHP_CodeBrowser as a PEAR-extension on our TeamCity server.

After installation we get a new program phpcb. Let’s test it in command line:

Now we can create an archive from our example php project. Run phpcb with some parameters.

Parameters here are: -s PHP-source code, -o html-output, -i ignored folders and files. In the out we will get a user friendly compact code view.

 

2. Make an ant-build task

The following task can be used to create html-code view. It can be added to TeamCity as a separate task or be added somewhere in the build script. In any case we need a special folder to keep the generated results. This folder should be cleaned while every build.

 

 3. Integration with TeamCity. Add a new tab to build details

First of all we will make that folder we create on the previous step as a build artefact for TeamCity. Go to project properties General Settings -> Artefact paths. Points TeamCity to reate a new artefact (a zip-archive in fact) from that folder where generated html-failes are. We just need to add the following line to artefacts paths:
c:\inetpub\wwwroot\codebrowser\converterphp2js => browser.zip

After the artefact with html files inside is created we can show code browser as a separated tab in TeamCity. Go to Administration->Integrations->Report Tabs->Create new report tab and set parameters for the new tab

Rebuild the project and we get a new tab with browsable php source code.