Hi,
   I have quite a complex scenario which I'm having difficulty in setting 
up. I've tried multiple different ways and have found issues in all of them 
and so I'm looking for some inspiration. I'll try my best to describe the 
situation and then describe how I thought it should be done. I hope someone 
has the patience to work through this and make suggestions.

- One project which is stored in a single central Mercurial repository.
- The project has several branches which all can be build concurrently.
- Each branch should be build in three locations at different times of day 
(US, UK, ASIA)
Each location may need to build each branch on several platforms (Linux, 
solaris)
To build a branch the builds is carried out in two stage.
   - Database build once per branch per location. - Setup a schema on a 
shared database which can be used by multiple builds.
   - Code build. One per branch per location per platform (This is a 
Makefile based c++ project)

So the generic structure I have is:

1. Clone Repo to the location(e.g. US, UK, ASIA) we are building. This is 
done as a shell script not using the mercurial plugin. This is so that 
multiple builds will end up using the same changeset per location. Clone is 
in /local-repos/jenkins/. This then kicks of a Database build for the same 
location, one for each branch.
2. Database build. Parametrised job, takes in the branch to build. 
Mercurial Plugin uses /local-repos/jekins (this is to make sure that this 
and the code build use the same changeset). Passes parameters on to Code 
Build.
3. Code build is a matrix build with axis of platform labels (Linux and 
Solaris) and has a parameter of which branch to build. It also uses the 
mercurial plugin and updates from /local-repos/jekins.

I've found that I've had to duplicate these three steps for each location 
which is a shame. I thought it should be possible to create one Database 
Build and Code Build matrix job which both had location as an axis. Then 
have the clone step restrict by location when it kicked off the next step. 
But I found that the database job wouldn't then kick off the code builds 
step. I think it is because it needs to do all of the configurations in a 
matrix job before it is classed as complete. Less of an issue is that you 
cannot tell that the matrix job has succeeded unless they were all kicked 
off at the same time.

I hope this makes some kind of sense. I need to know if there is some 
really simple method which I've missed, some plugin which might help me. 
Have I gone about it in completely the wrong way? Is there some document 
which I haven't found which will describe exactly what I need?

Any advice if you can understand what I've tried to describe would be most 
welcome.


Thanks,
Stefan

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to