0

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

Install -> Startup -> Test1

Install -> Startup -> Test2

所以我目前有两个安装在一个阶段,两个启动都在一个阶段,两个测试都在一个阶段。这看起来像:

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

我想在每次测试之后添加另一个任务,即电子邮件。电子邮件只是检查一个共享点站点,以查看我们的所有 Test1 测试是否已完成或 Test2 测试。只有当其中一个或另一个完成时它才会发送电子邮件。电子邮件必须在不同机器上的自己的代理上运行,以免两封相同的电子邮件同时发出。

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

我看到以下可能性:

  1. Test1 等待 Test2 完成,然后两封电子邮件都从电子邮件发送机发出。
  2. Test1 拥有自己的 Stage,尝试从电子邮件机器发送电子邮件。然后 Test2 运行并尝试从电子邮件机器发送电子邮件。(注意Test1和Test2顺序执行)
  3. Test1 和 Test2 有自己的阶段,阶段并行执行,Test1 和 Test2 并行执行,但只要测试完成,我就可以从电子邮件机器发送电子邮件

我很想拥有#3,但我认为同时执行阶段是不可能的。其他人能否想出一种方法,让电子邮件在测试完成后立即从另一台机器发出,同时最大限度地缩短时间?

4

1 回答 1

1

阶段不会并行运行,但 Bamboo 作业可以(有关详细信息,请参阅Bamboo 工作流是如何组织的?)。那么为什么不将这些程序设置为工作呢?此外,在作业要求选项卡中,您可以设置代理运行作业的要求,有效地告诉 Bamboo 在单独/选择的机器上运行任务(有关详细信息,请参阅配置作业的要求)。

于 2013-08-14T09:05:55.073 回答