Child pages
  • TeamCity Shared Resources

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

The plugin is bundled since TeamCity 8.0. The recent version is described in the online documentation for the latest TeamCity version.

General Info

Vendor

JetBrains

License

Apache 2.0

Type

free, open source

Description

This plugin allows to limit limiting

Wiki Markup
{hidden-data
} the number of {hidden-data}
concurrently running builds from different build configurations based on defined " resources " and " locks "defined at the project level.
Current The current version supports multiple read and exclusive write locks per build configuration.

...

In active development. Everybody is encouraged to try the plugin and provide feedback in the forum or post bugs into the issue tracker.

...

Installation

New installation

Install the plugin as usual.

Managing resources

Resource is a named entity that is defined per project. Build configurations can lock resources during execution of build steps. To create a resource, head to project configuration page. There choose 'SharedResources' tab. You can create resources of two types: simple named resources with quotas and resources with custom values.

  • Quota is a maximum number of read locks that can be acquired on resource. Quota can be infinite.
    • Image Removed
  • Custom value is a value that is passed to build that has acquired a lock on such resource. For example, it can represent and URL
    • Image Removed

Project groups support. (TC 8.0+)

Resources support project groups and subprojects. If you define a resource in a project that has subprojects, it will be available to all tree of subprojects

  • Image Removed

Information on resource usage is gathered across all subprojects

  • Image Removed

Managing locks

Locking quoted resources

There are two types of locks supported: read locks and write locks. Read locks are shared (multiple builds with read locks are allowed), write locks are exclusive (only a single running build with a write lock is allowed).

  • To add a lock, head to a build step in your build configuration, that requires locks.
  • Add a build feature 'Shared Resources management'
    • Image Removed
  • Use dialog to add necessary locks
    • Image Removed

Locking resources with custom values

Resources with custom values support three types of locks:

  • Lock on any available value. In this case unless all values are used by running builds, the build that uses resource will start with one of available values. If all valued are used, the build will wait in queue.
  • Lock on all values. In this case build will lock all values of the resource. No other builds that use this resource will be started until it is finished.
  • Lock on specific value. In this case only specific value of the resource will be passed to the build. If it is taken by another build, the build will wait in queue until it becomes available.

Information in build queue

  • To see locks in effect, head to build queue page. Screenshot below shows a build waiting fo lock
    • Image Removed

...

under TeamCity 7.1.x. The plugin is bundled since TeamCity version 8.

Anchor
updateTo8
updateTo8

7.1.x to 8.0 update

If you used the plugin with TeamCity v 7.1.x, you need to remove the installed plugin manually. After shutting down your TeamCity 7.1.x, please perform the following actions:

  1. Navigate to TeamCity Data Directory/plugins
  2. Delete file TeamCity.SharedResources.zip
  3. Navigate to TeamCity Data Directory/.unpacked

  4. Delete folder TeamCity.SharedResources and all of its contents

All the plugin settings are stored in the TeamCity Data directory and will be preserved.

Wiki Markup
{hidden-data}
TODO: add description of build parameters defined
{hidden-data}

TeamCity Versions Compatibility

TeamCity 7.1+

Download

Last stable build

Stable builds of the plugin are bundled since TeamCity 8.0. Nightly builds and builds for TeamCity 7.1.x can be acquired from our public server

Documentation

For details on the bundled Shared Resources plugin, refer to TeamCity documentation.

Sources on GitHubLast

Related Materials

Original issue