On Wed, Feb 15, 2012 at 8:08 PM, Vincent Massol <[email protected]> wrote:
> Hi devs,
>
> I've been working on Jenkins Job generation (see 
> http://jira.xwiki.org/jira/browse/XCOMMONS-87).
>
> The idea is to have a maven project that you run and which generates Jenkins 
> Job automatically and sets them on ci.xwiki.org
>
> The pros are:
> * Easy to create new jobs whenever we create a new branch
> * Allows to manager our Jenkins configuration  by storing it in our SCM
>
> Proposal 1
> =========
>
> xwiki-commons/xwiki-commons-tools/
>  |_ xwiki-commons-tool-jenkins/
>    |_ xwiki-commons-tool-jenkins-base/
>    |_ xwiki-commons-tool-jenkins-commons/ <-- parent = 
> xwiki-commons-tool-jenkins-base
>
> xwiki-rendering/xwiki-rendering-tools/
>  |_ xwiki-rendering-tool-jenkins/ <-- parent = xwiki-commons-tool-jenkins-base
>
> xwiki-platform/xwiki-platform-tools/
>  |_ xwiki-platform-tool-jenkins/ <-- parent = xwiki-commons-tool-jenkins-base
>
> xwiki-enterprise/xwiki-enterprise-tools/
>  |_ xwiki-enterprise-tool-jenkins/ <-- parent = 
> xwiki-commons-tool-jenkins-base
>
> xwiki-manager/xwiki-manager-tools/
>  |_ xwiki-manager-tool-jenkins/ <-- parent = xwiki-commons-tool-jenkins-base
>
> To run them, you go in each of the top level project's tool directory and run 
> "mvn deploy". It creates and deploys the Jenkins Job, updating the jobs if 
> they already exist.
>
> Proposal 2
> =========
>
> Create a new Git repository called xwiki-jenkins in 
> https://github.com/organizations/xwiki
>
> Have a single pom.xml in there which generates all Jenkins jobs (it's 
> possible to have various profiles if we want to generate jobs only for a 
> subset of modules).
>
> You run it using "mvn deploy" too.
>
> Proposal 3
> =========
>
> Extends Proposal 2 but merges with the repo currently named 
> "xwiki-debug-eclipse" . That repo would be renamed to "xwiki-tooling" or 
> "xwiki-development-tools" or simply "xwiki-tools" and would have 2 
> directories at the top:
>
> xwiki-debug-eclipse/
> xwiki-jenkins/
>
> Note that both xwiki-debug-eclipse and xwiki-jenkins should follow the same 
> version and be in sync with the other top level repositories since they're 
> tools for a given version of commons/rendering/platform/xe/manager.
>
> If they're together it means they'll share the same JIRA project and will use 
> 2 components to differentiate them, which is perfectly fine.
>
> Conclusion
> =========
>
> I think I'm tempted a bit more by Proposal 2 and 3 because:
> * It allows to generate all jobs in one go
> * Jenkins is not really related to the rest of the build and thus it's not 
> completely "normal" that its config should be mixed with building the 
> runtime. For example when we deploy XWiki Commons to Maven Central it means 
> users will see the Jenkins config there too with stuff that are only valid 
> for xwiki.org.
> * It makes simpler for maintenance to have it all in one POM together.
>
> I'm undecided between Proposal 2 and 3.
>
> WDYT?

+1 for 3

Thanks,
Marius

>
> Thanks
> -Vincent
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to