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

