Search code examples
javascriptteamcitybuild-automationamd

How to have TeamCity update the build version number in a specified file?


Does anyone know of an easy way to show the build version number in an HTML/JavaScript project that uses AMD?

The version number is generated by TeamCity as part of the build process.

Here is what I mean in more details:

One of my js files (e.g. showVersion.js) has a line like this:

  alert('Build version: __build_ver_placeholder__ ');

Ideally, after TeamCity completes the build, it will plug in the actual version number for the place-holder. And the line above will become:

  alert('Build version: 2.1.0 ');



That way, the user can know the build version number by clicking a button on an HTML page which calls the alert() function.

Any idea will be greatly appreciated. Thanks.


Solution

  • You can simply add PowerShell build step containing the following code:

    (Get-Content "showVersion.js") 
    | Foreach { $_ -Replace "__build_ver_placeholder__", "%build.number%" } 
    | Set-Content "showVersion.js";
    

    %build.number% variable will be replaced by TeamCity during the build