Bamboo的3.1.1手动依赖关系管理/依赖关系阻止功能没有按预期工作?

时间:2011-07-19 00:51:54

标签: continuous-integration bamboo build-dependencies

我们使用Bamboo作为我们的CI环境,并且具有多个构建依赖关系(使用手动依赖关系管理和依赖关系阻止功能)。我们使用SVN轮询作为我们的构建策略,所有项目具有相同的轮询频率。

假设我们有以下构建计划结构:

  • 项目A的父级构建计划PA,
  • 项目B依赖于PA的子项构建计划CB,如果父计划具有未构建的更改,则选择“阻止构建”作为依赖性阻止策略

我们的目标是设置依赖树,以便:

  • 如果项目B应该建立,首先检查A是否有变化,如果是,首先构建PA并阻止CB,PA完成后立即恢复CB
  • 为手动和自动构建(由于SVN轮询而触发的构建)
  • 执行此操作

上面描述的目标似乎正是依赖阻止功能(参见http://confluence.atlassian.com/display/BAMBOO/Setting+up+Build+Dependencies)的全部内容。但是,我遇到配置错误或者没有正确理解此功能。

为了测试,我构建了以下案例:

  • 在A
  • 中创建一个DummyClassA类
  • 在B中创建一个DummyClassB类,它引用DummyClassA,以便首先为项目B编译项目A以进行编译 *手动调用CB

我原本预计通过上面提到的配置,CB意识到父项目有变化,因此需要阻止CB,构建PA并恢复CB。 然而,发生的事情是CB被尝试构建并且明显失败(编译错误),因为DummyClassA还不知道项目B.似乎有没有活动检查的SVN父项目A当手动触发CB时,这是正确的吗?

我在这里缺少什么?我很确定必须有一个简单的解决方案,因为这个场景几乎出现在每个严肃的软件项目中,所以我希望Bamboo能够正确地处理这个问题。 任何人都可以对此有所了解吗?

最佳, 克里斯

0 个答案:

没有答案