This documentation relates to an earlier version of Bamboo.
View

Unknown macro: {spacejump}

or visit the current documentation home.

Dependency blocking is a advanced feature of dependent build triggering that can be used to manage builds with parents. This is particularly useful for ensuring that a "tree" of dependent builds always runs in order of the tree hierarchy, even if child builds are triggered independently of their parents.

(warning) Please note, dependency blocking only works when triggered by code updates (i.e. polling or check-in). It will not work when a build is triggered on a schedule or triggered via a parent build (when there are multiple parent builds in progress).

The three dependency blocking strategies are explained below:

  • 'Do not block' — If a build with this dependency blocking strategy is triggered by a code update, the build will run whenever it is triggered by a code update regardless of whether it has parent builds or not.
  • 'Block build if parent builds are queued or in progress' — If a build with this dependency blocking strategy is triggered by a code update, Bamboo will check whether its parents are building or queued to build. If so, the build will be blocked.
    If not, the build will run.
  • 'Block build if parent plans have unbuilt changes' — If a build with this dependency blocking strategy is triggered by a code update, Bamboo will check whether its parents are building, queued to build or have changes. If so, the build will be blocked. Additionally, If not, Bamboo will check if any of the parent builds have changes. If there are parent builds with changes, they will be triggered and the build blocked. If there are no parent builds with changes, the build will run.

These dependence blocking strategies are illustrated in the flowchart below:
Dependency Blocking Strategies in Bamboo