Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Scalable system with Webhook and Trigger other build #68

kienbui1995 ·

Dear QB Admins,
A QB Master has not enough performance due to the system must control so many nodes & thousands of builds at the same time. So, we used a Main QB Master connects with a few sub QB Masters. Users only need to interact on a Main-QBM. Build really run on many Sub-QBMs instead of a QBMaster
Currently, We are using "Trigger other build" step but this still consumes node resources. So, we hope to move using Webhook when Build start and finish with workflow:

  1. Main-QBM build request to Sub-QBM through Webhook call. Main-QBM release agent and keep "running" status
  2. Sub-QBM build start
  3. Sub-QBM build finish then update build information to Main-QBM
  4. Main-QBM build finish

To do this, we need your help:
1. make a few options/changes for Webhook plugin:

  • Add "Trigger other build" option to Webhook (like "Trigger other build" Step). it means that: send build infor like before or trigger other build
  • Add "condition" option Or scriptable for "Active" checkbox to skip call them if unnecessary

2. Allow build keep RUNNING status without any agent/node used
As I know, This seems difficult to implement due to QuickBuild style designed before.
We need this in case: make a new build (A) and it "trigger other build" (B), and then A will wait until B is finished (up to 2 hours). A's node will be locked for Build A without any job. So, this will help free up node to save resource for other jobs at that time.

Please let me know your opinion and if possible, please help us implement those above. it is very helpful for our system.
Thank you so much!

  • solved #2
  • replies 3
  • views 704
  • stars 0
robinshen ADMIN ·

Unfortunately this complicates QB a lot and also some idea violates QB's design, such as releasing agent release but still mark build as running.

I'd suggest to use multiple QB master independently, and you can configure them to use same LDAP/SAML authenticator.

kienbui1995 ·

QB Master independently will make confuse to user due to they need access many QB masters.

Unfortunately this complicates QB a lot and also some idea violates QB's design, such as releasing agent release but still mark build as running.
Okie, I also understand that.

anway, I hope that you still can implement the new feature/change about Webhook:

1. make a few options/changes for Webhook plugin:

  • Add "Trigger other build" option to Webhook (like "Trigger other build" Step). it means that: send build infor like before or trigger other build
  • Add "condition" option Or scriptable for "Active" checkbox to skip call them if unnecessary
robinshen ADMIN ·

The current trigger other build should not use too much resource as long as you are running this step on an agent. It is not a good idea to add another mechanism to duplicate current functionality just hoping to improve performance, and I can not see too much space for performance improvement for the webhook mechanism.