How does TeamCity work for perl project?

Hi all,

My goal is to implentment using TeamCity to do CI for a perl project.

I don't know much about How to set up the build configuration for my project but i built many c# projects for CI using Team City successfully before.

My case is i have a project coded by perl and I want to use Team City to be the CI server to do the Continuous Integration for this project developed by Perl.

I have one linux machine which already installs Perl, Apache, JVM. This machine will be used as an Agent.

My CI server is on Windows.

My plan is Step1: Set Check Out Mode with Agent mode.(this allow the perl project can be build on my agent machine only) Step2:use 'Perl *****.sh' command to run perl project.

Please correct me if there is something wrong about my steps above. I need a full steps on how to run perl project for Continuous Integoration using team city.

Thanks in advance!

Comment actions Permalink

let me explain more:for my step 2, i add one build step with this option 'Command Line' in Build Configuration. I think this is the only option to run a Perl project by now since i don't have a plugin for Perl.

This below is an online reference in Team City user guide. After reading this reference, i guess Team City can "run" a Perl project.

Custom script Platform specific script which will be executed as *.cmd file on Windows or as an executable script in Unix-like environments. Option is available if "Custom script" is selected in Run dropdown.

I see TeamCity can build&test&deploy c#/php/java projects, my question is that if Team City support code-check/testing/deploy for Perl project currently? If the answer is yes, so how?

Comment actions Permalink


TeamCity does not provide dedicated build runner for Perl scripts. But you can launch any processes using Command-line build runner.
TeamCity checks exit code of your scripts, and uses this value to mark builds as successful or failed.

To display detailed info about test results, TeamCity needs deeper interaction with your build scripts. I found TAP::Formatter::TeamCity module that provides such reporting.
This is 3rd-party plugin, and we didn't test it. But please let us know how well does it work for you.

All deployment-related tasks should be implemented within your build scripts, and can be launched as additional build step, or by standalone build configuration.


Comment actions Permalink

Thanks Michael, i'm appricated for your quick response and confirmation.

I will try.

Comment actions Permalink

My team city server can be successful to run perl project now.

let me introduce some steps i did:

First, install TAP-Formatter-TeamCity-0.04 and TeamCity-BuildMessages-v0.999.3 and  Module-Build-0.4001, etc on agents. Ensure these modules can be successfully installed. Missing any prerequiresite will cause failing to install modules. I almost install 20+ modules (some modules are required by my perl project 'Perl-Critic-1.118').

Second, Goto your perl project, ensure 'Build' file is there. If not, you can run 'perl Build.PL' to general 'Build'.If failed, you have to ensure if there is that any requirs are missing.

Third,add an environment various 'RUNNING_UNDER_TEAMCITY' to Team City Server.

Fourth,copy build.xml from "TAP-Formatter-TeamCity-0.04" folder to your perl project.

Fivth, in my build configuration, i add two build steps, the 1st build step's runner is 'Ant' and just set this option 'Path to a build.xml file' (what i did is just keeping the default)and save;
2nd build step use 'Command Line', choose 'Custom Script' and input './Build test' command in build script content.

Hope these can help more.
Comment actions Permalink

Thank you for sharing!


Please sign in to leave a comment.