我们使用 Bamboo v3.1.1 作为我们的持续集成构建服务器,它运行良好——大部分时间。
我们遇到的一个问题是我们正在进行大量面向数据库的测试,例如,构建在共享数据库实例上进行了一些单元和集成测试。
当我们碰巧同时运行同一个构建计划的多个 Bamboo 构建时,这会导致问题 - 它们相互绊脚并导致死锁,通常,所有涉及的构建都会因此而失败。
因此,虽然并行构建很棒——理论上——我们真的希望能够定义一个构建计划来“序列化”构建,例如从不并行执行多个构建。
有谁知道我们该怎么做?是否有一个设置告诉 Bamboo“不要并行化这个构建计划 - 一次只做一个构建,以串行方式”
更新:
我的构建过程目前有两个阶段:
- 核心构建(构建 VS 解决方案,将测试数据库更新为最新脚本)
- 测试(NUnit 2.4)
“核心构建”可以轻松地并行运行多次 - 没有问题。但是,“测试”阶段不能多次运行,因为其中一些测试访问唯一共享的“单元测试”数据库;如果超过 1 个“测试”阶段进程正在运行,它们最终会互相死锁。
那么我如何告诉 Bamboo 可以并行化“核心构建”阶段,但对于“测试”,无论运行多少构建,始终一次只运行一个实例?