Нужно показывать код PHP-проекта после всех тестов в TeamCity. Бывает необходимо просмотреть файлы которые непосредственно использовались для тестов и при сборке проекта.
1. Создадим html-представление PHP-кода
Для этого используем замечательный инструмент
PHP_CodeBrowser. Эта программа умеет генерировать html-файлы из PHP-кода, подсвечивать синтаксис и удобно оформлять все это для просмотра.
Установим PHP_CodeBrowser как PEAR-расширение для PHP на нашем TeamCity сервере.
pear channel-discover pear.phpqatools.org
pear install --alldeps phpqatools/PHP_CodeBrowser
После установки у нас появится новая программа phpcb. Проверим в командной строке:
C:\>phpcb
[Error] Missing log or source argument.
[Error] Missing output argument.
Теперь можно создать архив html-файлов из нашего PHP-проекта.
C:\>phpcb
-s c:\inetpub\wwwroot\php\ConverterPHP2JS
-o c:\temp\ConverterPHP2JS
-i c:\inetpub\wwwroot\php\ConverterPHP2JS\tests
Опции соответственно -s - источник, т.е. PHP-код, -o - вывод, т.е. html-файлы, -i - игнорируемые папки и файлы.
На выходе получим вот такой удобный для просмотра в браузере вид:
2. Добавим ant-таск в билд
Я добавил таск в самый конец построения проекта. А можно добавить отдельным шагом билда непосредственно в TeamCity.
В любом случае надо выделить специальную папку, куда PHP_CodeBrowser будет записывать результат. Эту папку нужно очищать во время каждого билда.
3. Добавим вкладку в TeamCity для представления PHP-кода
Для начала, ту папку с html-представлением PHP-кода, которую мы получили на предыдущем шаге нужно сделать артефактом билда для TeamCity. Для этого идем в свойства проекта General Settings->Artifact paths
и указываем TeamCity создать новый артефакт (фактически архив) из той папки, где лежат сгенерированные html-файлы
c:\inetpub\wwwroot\codebrowser\converterphp2js => browser.zip
После того как есть артефакт c html файлами внутри, его можно показать отдельной вкладкой в TeamCity.
Идем в Administration->Integrations->Report Tabs->Create new report tab и задаем параметры новой вкладки.
Теперь перестраиваем билд и ура! - у нас есть новая вкладка с кодом.