[jbosstools-issues] [JBoss JIRA] (JBIDE-15483) generate content in staging/_composite_/core/{trunk, 4.1.kepler} based on new builds/staging/{JOB_NAME}/{BUILD_ID_N} and builds/staging/{JOB_NAME}/{BUILD_ID_N-1}

Nick Boldt (JIRA) jira-events at lists.jboss.org
Wed Sep 25 12:53:02 EDT 2013


    [ https://issues.jboss.org/browse/JBIDE-15483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12807409#comment-12807409 ] 

Nick Boldt edited comment on JBIDE-15483 at 9/25/13 12:52 PM:
--------------------------------------------------------------

Rather than using a template, I've just decided to generate the composite*.xml files from commandline input, so it can be tweaked more easily from within a Jenkins job.

Here's the script:

https://raw.github.com/jbosstools/jbosstools-build-ci/master/util/generateCompositeStagingSiteMetadata.sh

Thus, we run it like this:
{code}
./generateCompositeStagingSiteMetadata.sh -NUM <num builds to include, eg., 1 or 2> -NAME 'Site Name' -DESTINATION tools at filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/path/goes/here/ -SITES http://download.jboss.org/jbosstools/updates/site/to/include1,http://download.jboss.org/jbosstools/updates/site/to/include2,... -JOBNAMES <job1,job2,job3,...> 
{code}

Which for JBT 4.1 (keeping the latest 1 build for each component) would be:
{code}
./generateCompositeStagingSiteMetadata.sh -NUM 1 -NAME 'JBoss Tools - Core - Stable Staging Site' -DESTINATION tools at filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/4.1.x.kepler/ -SITES http://download.jboss.org/jbosstools/updates/stable/kepler/,http://download.jboss.org/jbosstools/updates/stable/juno/core/gwt/,http://download.jboss.org/jbosstools/updates/stable/kepler/core/freemarker/ -JOBNAMES jbosstools-aerogear_41,jbosstools-arquillian_41,jbosstools-base_41,jbosstools-birt_41,jbosstools-central_41,jbosstools-forge_41,jbosstools-hibernate_41,jbosstools-javaee_41,jbosstools-jst_41,jbosstools-livereload_41,jbosstools-openshift_41,jbosstools-portlet_41,jbosstools-server_41,jbosstools-vpe_41,jbosstools-webservices_41,openshift-java-client-master
{code}
and for the master branch, JBT 4.2 (keeping the latest 2 builds for each component, if available):
{code}
./generateCompositeStagingSiteMetadata.sh -NUM 2 -NAME 'JBoss Tools - Core - Trunk Staging Site' -DESTINATION tools at filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/master/ -SITES http://download.jboss.org/jbosstools/updates/requirements/xulrunner-1.9.2/,http://download.jboss.org/jbosstools/updates/stable/juno/core/gwt/,http://download.jboss.org/jbosstools/updates/stable/kepler/core/freemarker/ -JOBNAMES jbosstools-aerogear_master,jbosstools-arquillian_master,jbosstools-base_master,jbosstools-birt_master,jbosstools-central_master,jbosstools-forge_master,jbosstools-hibernate_master,jbosstools-javaee_master,jbosstools-jst_master,jbosstools-livereload_master,jbosstools-openshift_master,jbosstools-portlet_master,jbosstools-server_master,jbosstools-vpe_master,jbosstools-webservices_master,openshift-java-client-master
{code}
                
      was (Author: nickboldt):
    Rather than using a template, I've just decided to generate the composite*.xml files from commandline input, so it can be tweaked more easily from within a Jenkins job.

Here's the script:

https://raw.github.com/jbosstools/jbosstools-build-ci/master/util/generateCompositeStagingSiteMetadata.sh

Thus, we run it like this:
{code}
Usage    : ./generateCompositeStagingSiteMetadata.sh -NUM <num builds to include> -NAME 'Site Name' -JOBNAMES <job1,job2,job3,...> -SITES http://download.jboss.org/jbosstools/updates/site/to/include1,http://download.jboss.org/jbosstools/updates/site/to/include,...
{code}

Which for JBT 4.1 (keeping the latest 1 build for each component) would be:
{code}
./generateCompositeStagingSiteMetadata.sh -NUM 1 -NAME 'JBoss Tools - Core - Stable Staging Site' -DESTINATION tools at filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/4.1.x.kepler/ -SITES http://download.jboss.org/jbosstools/updates/stable/kepler/,http://download.jboss.org/jbosstools/updates/stable/juno/core/gwt/,http://download.jboss.org/jbosstools/updates/stable/kepler/core/freemarker/ -JOBNAMES jbosstools-aerogear_41,jbosstools-arquillian_41,jbosstools-base_41,jbosstools-birt_41,jbosstools-central_41,jbosstools-forge_41,jbosstools-hibernate_41,jbosstools-javaee_41,jbosstools-jst_41,jbosstools-livereload_41,jbosstools-openshift_41,jbosstools-portlet_41,jbosstools-server_41,jbosstools-vpe_41,jbosstools-webservices_41,openshift-java-client-master
{code}
and for the master branch, JBT 4.2 (keeping the latest 2 builds for each component, if available):
{code}
./generateCompositeStagingSiteMetadata.sh -NUM 2 -NAME 'JBoss Tools - Core - Trunk Staging Site' -DESTINATION tools at filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/master/-SITES http://download.jboss.org/jbosstools/updates/requirements/xulrunner-1.9.2/,http://download.jboss.org/jbosstools/updates/stable/juno/core/gwt/,http://download.jboss.org/jbosstools/updates/stable/kepler/core/freemarker/ -JOBNAMES jbosstools-aerogear_master,jbosstools-arquillian_master,jbosstools-base_master,jbosstools-birt_master,jbosstools-central_master,jbosstools-forge_master,jbosstools-hibernate_master,jbosstools-javaee_master,jbosstools-jst_master,jbosstools-livereload_master,jbosstools-openshift_master,jbosstools-portlet_master,jbosstools-server_master,jbosstools-vpe_master,jbosstools-webservices_master,openshift-java-client-master
{code}
                  
> generate content in staging/_composite_/core/{trunk,4.1.kepler} based on new builds/staging/{JOB_NAME}/{BUILD_ID_N} and builds/staging/{JOB_NAME}/{BUILD_ID_N-1}
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBIDE-15483
>                 URL: https://issues.jboss.org/browse/JBIDE-15483
>             Project: Tools (JBoss Tools)
>          Issue Type: Sub-task
>            Reporter: Nick Boldt
>            Assignee: Nick Boldt
>
> Because the content in builds/staging/\{JOB_NAME}/all/repo/ and builds/staging.previous/\{JOB_NAME}/all/repo/ is moving to builds/staging/\{JOB_NAME}/\{BUILD_ID_N} and builds/staging/\{JOB_NAME}/\{BUILD_ID_N-1}, we need to generate a list of matching build URLs for inclusion in the composite*.xml files, perhaps based on a template that's stored in github (to define which projects to include).
> Parameters to the generation would need to be:
> a) template
> b) number of builds per project to include (1, for stable_branch or 2, for trunk)
> Constraints:
> * Need to ensure that the generated files are always fresher than anything pulled from github via rsync, so templates should not be called "compositeContent.xml" but rather "compositeContent.template.xml"
> * Need to be able to run this regeneration as a Jenkins job, perhaps as the first step in https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jbosstools-composite-install_41/ and https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jbosstools-composite-install_master/
> Worries:
> * What happens if the regen happens and then a jbosstools-cleanup.sh fires minutes later, wiping out that N-1 build? Does jbosstools-cleaup.sh need to regen these files too?
> Default operation of jbosstools-cleanup.sh as called from publish_new.sh and publish.sh is to keep the last 5 builds and anything newer than 5 days old; if there are no such builds, it will always keep the last build in a folder:
> {code}./jbosstools-cleanup.sh --keep 5 --age-to-delete 5 --childFolderSuffix /all/repo/{code}

--
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


More information about the jbosstools-issues mailing list