Bamboo在不同的机器上执行任务

时间:2013-04-10 20:29:03

标签: optimization continuous-integration bamboo

我有几个数据库来测试产品。每个数据库都有两组必须并行运行的任务。对于每个数据库,我运行以下两组任务:

Install -> Startup -> Test1

Install -> Startup -> Test2

所以我目前在舞台上安装了两个,包括舞台中的初创者和舞台上的两个测试。这看起来像:

Install1 and Install2 - > Startup1 and Startup2 - > Test1 and Test2

我想在每次测试后添加另一项任务,即电子邮件。电子邮件只需检查一个sharepoint站点,以查看我们的所有Test1测试是否已完成或Test2测试。只有在其中一个完成后才会发送电子邮件。电子邮件必须在其他计算机上自己的代理上运行,以便不允许同时发送两封相同的电子邮件。

此外,Test1需要1小时才能完成,而Test2需要大约6个小时才能完成。我想在不等test2的情况下发送test1的电子邮件。然后稍后发送test2的电子邮件。

我看到以下可能性:

  1. Test1等待Test2完成,然后两封电子邮件都从电子邮件发送出去。
  2. Test1获得自己的舞台,尝试通过电子邮件发送电子邮件。然后Test2运行并尝试从电子邮件机器发送电子邮件。 (注意Test1和Test2按顺序执行)
  3. Test1和Test2获得自己的阶段,并且各个阶段并行执行,Test1和Test2并行执行但是每当测试结束时我都可以通过电子邮件发送电子邮件
  4. 我很想拥有#3,但我不认为同时执行阶段是可能的。在测试完成后,是否有其他人可以想出让电子邮件立即从另一台机器发出的方式,同时最大限度地缩短时间?

1 个答案:

答案 0 :(得分:1)

阶段不是并行运行,但是Bamboo作业会运行(有关详细信息,请参阅How is a Bamboo workflow organised?)。那你为什么不把这些程序当作工作呢?此外,在作业要求选项卡中,您可以设置代理的要求以运行作业,从而有效地告知Bamboo在单独/选定的计算机上运行任务(有关详细信息,请参阅Configuring a job's requirements)。