Home> Products> TeamCity> Features> Effective build management

Build Management


Forget about heavy-weight and complicated build management systems. TeamCity's multiple features help effectively control and automate the building process directly from its web interface.

Artifacts

Artifacts Projects Page Click to enlarge

Artifacts are files and folders, such as installers, WAR files, log files, etc., produced by a build.

You can download artifacts from multiple places in TeamCity's UI: the Projects page, the Build Configuration page or the Artifacts tab of the Build Results page.

You can download all build artifacts in a single .zip archive.

Publishing Build Artifacts while the Build is Still Running

You can notify TeamCity as soon as the build artifacts are created so they can be uploaded and available even before the build is finished. It increases your builds responsiveness and you don't need to wait until your builds are finished.

History

The builds' artifacts and other data (such as build logs, for example), which TeamCity produces, are kept in the history.

To limit your database of builds and, thus, manage the hardware load more effectively, you can specify the clean-up policy using the administration interface.

If you don't want builds with all related information, artifacts, etc. to be removed from the database, pin the desired build, and you will always be able to access its artifacts. This can be especially useful if you want to keep the artifacts of some error-free build intended for release or other purposes.

History Tab Click to enlarge

Build Tags, Pins and Comments

TeamCity introduces build tagging — a useful means for organizing the builds and quick filtering builds marked with a particular tag in the builds history. You can apply one or several tags to a single build.

Additionally you can search for builds marked with particular tags.

You can leave a comment on a specific build and comment the build's pin action.

Add Build Comment Click to enlarge

Build Chains and Enhanced Build Dependencies

With the newly introduced Build Chains, you can break down a single build procedure into several parts that can be run on different build agents both in sequence and in parallel using the same set of sources snapshot in all of them. This provides unique opportunity to make sure you are using your build grid at full power, and also helps better align build procedure with the release engineering phases.

Snapshot Dependencies play an important role in forming build chains, allowing to link build configurations which should be triggered in sequence for the same source code revision.

Snapshot Dependencies Click to enlarge

For any started build, new Dependencies tab allows to navigate back and forth through the Build Chains, this build belongs to.

Dependencies Tab-M Click to enlarge

Indirect dependencies are now displayed on the build Dependencies tab.

The summary of snapshot dependencies failures is available on the Build Results page and a build popup window.

Search for Builds Using Keywords and Query Syntax

Find builds by their number, tag,labels, project or build configuration name. You can use several keywords to get more precise results.

You can now use Lucene search query syntax, sort the results by their relevance and time and more.

Search Results Click to enlarge

In addition to searching by build number, project or a build configuration name, you can search by the Build Agent the build was run on, and it's also possible to search for the builds created on a particular Build Agent on the build configuration History page.

Search term is now highlighted build comments and pin status are displayed in the search results.

View Developers' Changes in Change Log

The change log accumulates the list of pending changes, and the changes already included in the builds of the selected build configuration.

You can now filter changes between specific builds and show/hide particular builds.

Change Log

Project-wide Change Log with filtering possibilities is now available.

First Failed Tests Click to enlarge