TeamCity Cloud 2024.07 Help


The Node.js build runner allows running Node.js tools like npm, yarn, and node.

Refer to Configuring Build Steps for a description of common build steps' settings.


Currently, Node.js steps can only be run inside a Docker/LXC container. Refer to Container Wrapper for general information about available Docker/Podman settings.

You can define which version of Node.js to use for the current build step. TeamCity uses a node:lts image by default, or, if there is a .nvmrc file inside your project, TeamCity automatically detects the image specification from there while creating a build step.

Autodetecting JavaScript Steps

If your repository contains a package.json file, TeamCity will automatically detect used frameworks and propose adding respective build steps.

Currently supported frameworks are ESlint, Jest, and Mocha.

If TeamCity detects an .nvmrc file, it will automatically use the node version specified in it.

Running Node.js Commands

In the Shell script field, enter all Node.js commands to be executed in this step.

Accessing Private NPM Registries

To access a private npm registry during a build (for example, to download a package), you need to:

  1. Configure an NPM Registry connection as described here.

  2. In Build Configuration Settings | Build Features, add an NPM Registry Connection build feature and select the new connection, so it can be used in this configuration.

As a result, a TeamCity agent will authenticate in this registry during the build.

Alternatively to this procedure, you can let TeamCity parse a token from the .npmrc file inside your JS project. To achieve this, declare a token variable in this file as specified here and then create an environment variable NPM_TOKEN in TeamCity with the value of the access token and the "Password" type.

Last modified: 19 May 2023