Skip to end of metadata
Go to start of metadata
You are viewing documentation of TeamCity 6.5.x, which is not the most recent released version of TeamCity. Please refer to the listing to choose another version.

Table of Contents

Build Configuration describes a class of builds of a particular type, or a procedure used to create builds. Examples of build configurations are integration builds, release builds, nightly builds, and others. To learn more about build configurations in TeamCity, refer to the Build Configuration page.
TeamCity provides several ways to create new build configuration for a project. You can:

Creating New Build Configuration

  1. On the Administration page, locate the desired project in the list and click Create build configuration link which is available right after the list of project's configurations. Alternatively, you can find this link on the project settings page.
  2. Specify General Settings for the build configuration, then click the VCS settings button.
  3. Create/edit VCS roots and specify VCS-specific settings, then click the Add Build Step button.
  4. On the New Build Step page, configure first build step - select the desired build runner from the drop-down list, and define its settings. Click Save.
    You can add as many build steps as you need within one build configuration. Note, that they will be executed sequentially. In the end, the build gets merged status and the output goes into the same build log. If some step fails, the rest are not executed.
  5. Additionally, configure build triggering options, dependencies, properties and variables and agent requirements.

Creating Build Configuration Template

To learn more about build configuration templates, refer to the Build Configuration Template page.
Creating a build configuration template is similar to creating a new configuration. On the Project settings page click the Create template link and proceed with configuring general settings, VCS settings and build steps.

Creating Build Configuration From Template

To create a build configuration based on the template, on the Project settings page locate the desired template and click Edit. Then, click the Create Build Configuration From Template button and specify the name for new configuration. The settings set up in the template cannot be edited in a configuration created from this template. If you want to change them, modify them in the template's settings. However, note that this will affect all configurations based on this template.

Creating Maven Build Configuration

To create new build configuration automatically from the POM.xml file, on the Project settings page click the Create Maven build configuration link and specify the following options:



POM file

Specify the POM file to load configuration data from. You can either provide an URL to the pom.xml file in a repository or upload pom.xml file from your local working PC. The URL to the POM file should specified in the #Maven SCM URL format.


Username to access the VCS repository.


Password to access the VCS repository.


Provide goals for the Maven build runner to be executed with the new configuration.


Select the check box to set automatic build triggering on snapshot dependency.


From the provided POM file TeamCity reads the name and the VCS root URL parameters for the new build configuration. For non-Maven projects, if there's no VCS root URL provided in the pom.xml, then the process will be aborted with error.

When the new Maven configuration is created, any further configuring is similar to editing an ordinary build configuration.

Refer to Maven documentation on the SCM Implementation for the following supported version control systems:

Maven SCM URL Format

The general format for a SCM Url is

As delimiter you can use either colon ':' or, if you use a colon for one of the variables (for example, a windows path), you can use a pipe '|'.

For more information, please refer to the official Maven SCM documentation page.

In TeamCity you can use simplified SCM URL format:

  • If the protocol defined in the provider-specific part unambiguously identifies the SCM-provider, then the scm:<scm_provider>: prefix of the URL can be omitted. For instance, the "scm:starteam:starteam://" URL will valid in the "starteam://" format. In any other case, for example if HTTP protocol is used for SVN repository, then the SCM-provider must be specified explicitly:
  • The scm prefix can be omitted, or can be replaced with vcs prefix.

Examples of the SCM URL for Supported SCM Providers

The following URLs will be considered as equal:

  • Subversion:


  • StarTeam:
  • Perforce:

See also: