-
New Feature
-
Resolution: Unresolved
-
Major
-
More or less current jenkins on windows (server and build clients) with multiple Jazz servers
If sourcecode is managed on multiple JAZZ servers, wouldnt it be handy to be able to configure 1...n servers for a job (or globally) to fetch the code?
The situation: code on Server A builds and provides libraries for Code on Server B, the code on Server B needs the code from Server A but cannot access it directly.
Therefor when running a Job that compiles the code on Server B, one would need to fetch/pull/integrate/link/update the code from Server A as well.
I can think of a "pre job" (or multiple of them) which all override the default server with Server A, Server B, ... and afterwards have a central job executed that works on the code. But this introduces inter-job dependencies one would like to avoid.
Is this seen as a valid usecase and therefor an improvement? Is this maybe not thinking in JAZZ ways and therefor an abstruse setup? Input/Feedback is highly appreciated!
I don't have any easy answers for you. It does sound like you need a job that builds the code from Server A and then a job that builds the code from Server B on top of it. It does introduce a dependency in jobs, but it simply reflects the dependency already there.
If you wanted everything built only in 1 job, then you would need to do scripting to accept & load the code from Server A (using CLI), but this would not give you much in terms of traceability in the build to know what changed in the build from Server A. It would also be harder to reproduce a build unless you also start creating snapshots on Server A too. Which would mean you pretty much replicate in the CLI what a dependent job would do. It also means that changes on Server A would not result in triggering the build of B to occur either.
Another option would be to use distributed SCM. That would mean the build workspace on Server B would pull components from 2 different streams (one on Server A and one on Server B). This means that states of the code on Server A would be replicated on Server B. The snapshot would contain every component so you have reproducability and traceability. We would need to make a change to the Plugin though to support the multiple credentials.
Having us support multiple build workspaces would be interesting but I am not sure it would be in our immediate plans when multiple jobs or distributed SCM could do it.