Edgewall Software
Modify

Opened 17 years ago

Closed 16 years ago

#271 closed enhancement (fixed)

Add support for multiple, sequential builds with distinct URLs

Reported by: manu.blot@… Owned by: cmlenz
Priority: minor Milestone: 0.6
Component: Build slave Version: 0.5.3
Keywords: Cc: dfraser
Operating System:

Description

When several Trac projects / SVN repositories are used in the same development environment, it can be handy to run a single bitten-slave instance on a slave and to request bitten-slave to scan a list of masters and execute any available build.

The build sequence could be executed in a round-robin fashion: use a list of master URLs (instead of the current, unique master URL), poll the first master for any build. If no pending build is available, move to the next URL and asks for another build, etc.

The current implementation of the bitten-slave makes such a task hard to achieve: several bitten-slave instances are to be launched on the same machine, which may overload the machine and decrease the performances.

If a single bitten-slave is started (whatever the "--single" option switch), it does not return till at least a single build has been performed.

One option could be a "poll, execute or leave" switch, but it would require external logic (scripts ...) to deal with several masters. It would be nicer and easier to add such a feature to the bitten-slave itself.

See initial discussion here: http://groups.google.com/group/bitten/browse_thread/thread/f6458b5a504c64ed/a0b02c5a48dc8ccf

Attachments (2)

bitten-#271-hack.diff (3.3 KB) - added by manu.blot@… 17 years ago.
Workaround to use multiple masters
bitten-#271-hack.2.diff (4.3 KB) - added by manu.blot@… 17 years ago.
Remove the comma separator for URLs, simply use multiple arguments on the command line (space separator)

Download all attachments as: .zip

Change History (5)

Changed 17 years ago by manu.blot@…

Workaround to use multiple masters

comment:1 Changed 17 years ago by manu.blot@…

I've attached a workaround for this enhancement.

It is not intended for an integration into the core, as it has several limitations:

  1. same credentials for all masters
  2. cannot mix remote masters and local build recipe
  3. URLs are comma-separated, which may not be valid if an URL, for some reason, contains comma characters
  4. no real error management (if a master is in error, the bitten-slave leaves without attempting to contact the other masters

Changed 17 years ago by manu.blot@…

Remove the comma separator for URLs, simply use multiple arguments on the command line (space separator)

comment:2 Changed 16 years ago by dfraser

  • Cc dfraser added

Given that I implemented virtually exactly the same thing independently, I wouldn't say this shouldn't be included in the main build :-)

comment:3 Changed 16 years ago by cmlenz

  • Milestone changed from 0.7 to 0.6
  • Resolution set to fixed
  • Status changed from new to closed

Patch applied in [555]. Thanks Manu!

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain cmlenz.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.