@Sverre Moe: that's indeed a situation where Jenkins falls short!

Our full build + test process has around 100 jobs:

  • mostly native builds, on 10 platforms (Windows, Linux, Mac, iOS, Android, Tizen, ...)
  • we have build jobs that trigger downstream test jobs and we need to test on each platform we build for
  • we're shipping native middleware with 3 APIs: C, Java, .NET
    • that means we also have e.g. Java and .NET build and test jobs
  • successful test jobs trigger packaging jobs which produce deliverables we ship to our customers

We're using Git.

Given that brief description, you can see we're pushing Jenkins to its limits:

  • in terms of job scheduling and dependencies
  • in terms of artifacts handling

Currently, when wanting to build different branches, we do the following:

  • duplicate the master node:
    • master1 dedicated to scheduling jobs for branch1
    • master2 dedicated to scheduling jobs for branch2
    • ...
  • make master nodes work in isolated workspaces by having 1 top level working directory per master node on each slave node
    • master1 connects to slave1 and works in ~/jenkins1
    • master1 connects to slave2 and works in ~/jenkins1
    • master2 connects to slave1 and works in ~/jenkins2
    • master2 connects to slave2 and works in ~/jenkins2
    • ...
  • still, we use Git reference repositories so that what's cloned in ~/jenkins1/workspace/... ~/jenkins2/workspace/... gets shared with hard links on Linux and Mac slave nodes
  • use an environment variable to specify the branch to build

As you can see, this is tedious and very fragile but that's the best solution we came up with

  • in order to avoid replicating jobs
  • in order to build numbers not being a mess (the fact that the next build number corresponds to the next branch that receives commits really makes it a gigantic mess).

We're now looking into Atlassian's Bamboo CI that handles all that transparently and out of the box.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to