-
Type:
Suggestion
-
Resolution: Unresolved
-
None
-
Component/s: Agents
-
None
In the current Bamboo configuration when using Ephemeral Agents in a Plan with multiple Jobs and multiple stages, only the first stage triggers the immediate creation of an Agent. The rest of the Ephemeral Agents are only triggered if the prior stage succeeds. This can cause delays in the build process, particularly for large builds with many stages, as each agent's bootstrap process can be time-consuming.
Suggestion
This feature request is to introduce the ability for the preemptive and parallel creation and start-up of all required Ephemeral Agents linked to a Plan as soon as the build process begins. This can potentially expedite the build process, effectively acting as a reservation pool. This approach ensures that a Build will have the necessary resources it needs from the very outset.
This feature could be implemented via a Global setting: "Enable preemptively start of Ephemeral Agents". Additionally, a per-job configuration option could be provided to enable or disable this feature.
The main risk associated with this approach is the potential creation of orphaned agents if the preceding Jobs fail. However, for some customers, setting an agent ready, and later discarding it if not necessary, is a more beneficial approach compared to waiting for subsequent bootstrap processes to finish before each Job can begin.
This could also create a scenario where the Agent asks for a build too early; however, this could be managed similarly to a Remote Agent looking for a job. An Ephemeral Agent requirement could be added to the Job during queuing, and later added to the Agent during its triggering stage to pair them together. Using an "Agent dedication" logic could also work here.
This is undeniably a complex feature with its unique set of challenges. However, I believe that it could significantly enhance the build process, particularly for larger enterprise customers, by making it more efficient and responsive.