Hi,
We currently moving away form single master node under Windows to master 
under Linux and multiples node under multiples desktop OS. I was looking to 
some tips and check if my setup idea is good or maybe what others have done 
so far into such cases.

We are using Hg for repos and we did a sub repos for the Jenkinsfile. So 
multiple version of the main repos can use the same Jenkinsfile. But we 
were having many template and scripts in the master ${JENKINS_HOME}.

Now I was thinking about making the helper scripts as sub repos of the 
Jenkinsfile repos. This way I could checkout the Jenkinsfile and pull the 
proper version of the helper scripts that goes along.

Repos numbering:

   1. JenkinsFile repos
   2. Build Scripts helper
   3. Source Code project X
   4. Source Code project Y

The repos hierarchy (I think might work):

   - #3
      - #1
         - #2
      - #4
      - #1
         - #2
      
This way when I checkout the source code I known which version/branch of 
Jenkinsfile is used to build that source code. And the Jenkinsfile can use 
the proper Build scripts version. Sound about right to me. 

   1. The build would fetch the jenkinsfile for the wanted branch 
   (platform/tools/target...) sub repos #1 along with sub repos #2 (extra 
   checkout but not too bad at this point, at least I don't checkout #3 or #4 
   at this point (save a lot of HD space).
   2. Execute the jenkinsfile on the required node (#2 required to do so).
   3. Inside the node tag
      1. Checkout again but the full repos (either #3 or #4) with the #1, 
      #2 sub repos again.
      2. Execute the build on the slave.
      3. Generate build data (tests, graph, screen capture, etc)
   4. Format generated data with script of #2 to be kept as html page, log 
   parser, etc.


My problems is that the builds scripts are needed to parse the Jenkinsfile 
and run it to an extent.

Is that a right way to do it or I'm over complicating thing here?
My requirements 

   - is to be able to build an old version again with as little 
   modification as possible into the build process.
   - being able to build new way.
   - Have an history of what was used for each build exactly and reproduce 
   it if needed (for at least 10 years).

Thanks,
Jerome

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/50741335-ef5c-48a6-b540-b69fb2a7fedd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to