[
https://issues.jboss.org/browse/JBIDE-15483?page=com.atlassian.jira.plugi...
]
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/generat...
Thus, we run it like this:
{code}
./generateCompositeStagingSiteMetadata.sh -NUM <num builds to include, eg., 1 or 2>
-NAME 'Site Name' -DESTINATION
tools@filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/path/goes/here/
-SITES
http://download.jboss.org/jbosstools/updates/site/to/include1,http://down....
-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@filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/4.1.x.kepler/
-SITES
http://download.jboss.org/jbosstools/updates/stable/kepler/,http://downlo...
-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@filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/master/
-SITES
http://download.jboss.org/jbosstools/updates/requirements/xulrunner-1.9.2...
-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/generat...
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://down....
{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@filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/4.1.x.kepler/
-SITES
http://download.jboss.org/jbosstools/updates/stable/kepler/,http://downlo...
-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@filemgmt.jboss.org:/downloads_htdocs/tools/builds/staging/_composite_/core/master/-SITES
http://download.jboss.org/jbosstools/updates/requirements/xulrunner-1.9.2...
-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... and
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jbosstools-composite...
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