[jbosstools-issues] [JBoss JIRA] Commented: (JBDS-662) centralize requirements folder on in /home/hudson/hudson_workspace/workspace/jbosstools-jbdevstudio-REQUIREMENTS
Nick Boldt (JIRA)
jira-events at lists.jboss.org
Sat Mar 14 15:45:22 EDT 2009
[ https://jira.jboss.org/jira/browse/JBDS-662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12457295#action_12457295 ]
Nick Boldt commented on JBDS-662:
---------------------------------
First pass added to /devstudio-trunk/releng/org.jboss.ide.eclipse.releng/builders/common/buildRequirements.xml#cleanRequirements, lines 61-98:
<!-- JBDS-662: use a central requirements bucket to save bandwidth and disk, if running on linux/macosx/etc. -->
<if>
<and>
<os family="unix" />
<not>
<!-- If requirements cache dir does not exist, eg.,
~/.hudson/jobs/devstudio-nightly-2.0.x/workspace/jbds-build/requirements or
/home/hudson/hudson_workspace/workspace/jbosstools-release-3.0.x/jbds-build/requirements
-->
<available file="${requirement.build.root}" type="dir" />
</not>
</and>
<then>
<!-- find the hudson jobs dir, eg.
~/.hudson/jobs/ or
/home/hudson/hudson_workspace/
-->
<property name="HUDSON_JOBS_DIR" location="${requirement.build.root}/../../../../" />
<!-- create a central cache folder; should we use one cache for 3.1.x and one for 3.0.x? -->
<property name="SHARED_REQUIREMENTS_DIR" value="${HUDSON_JOBS_DIR}/jbosstools-jbdevstudio-REQUIREMENTS"/>
<if>
<and>
<available file="${HUDSON_JOBS_DIR}" type="dir" />
<not>
<available file="${SHARED_REQUIREMENTS_DIR}" type="dir" />
</not>
</and>
<then>
<mkdir dir="${SHARED_REQUIREMENTS_DIR}" />
</then>
</if>
<!-- then create a symlink within the build's workspace to the cache -->
<symlink link="${requirement.build.root}" resource="${SHARED_REQUIREMENTS_DIR}" />
</then>
</if>
<!-- TODO: verify if using a shared requirements cache will cause problems with overlapping builds doing this cleanup step -->
> centralize requirements folder on in /home/hudson/hudson_workspace/workspace/jbosstools-jbdevstudio-REQUIREMENTS
> ----------------------------------------------------------------------------------------------------------------
>
> Key: JBDS-662
> URL: https://jira.jboss.org/jira/browse/JBDS-662
> Project: Developer Studio
> Issue Type: Task
> Affects Versions: LATER
> Reporter: Nick Boldt
> Assignee: Nick Boldt
> Priority: Minor
> Fix For: 2.0.1, 2.1.0
>
>
> To avoid meltdowns like we had in JBQA-2144, to reduce disk usage, and to speed up the rollout of new hudson jobs, I propose we create two folders:
> /home/hudson/hudson_workspace/workspace/jbosstools-3.0-jbdevstudio-2.0-REQUIREMENTS
> /home/hudson/hudson_workspace/workspace/jbosstools-3.1-jbdevstudio-2.1-REQUIREMENTS
> In there, we will place a copy of all the requirements used by the paired builds, and instead of burning time and bandwidth fetching the 3G of zips every time we start a new job, we'll simply symlink to that folder so new reqs will be added.
> cd /home/hudson/hudson_workspace/workspace/jbosstools-nightly-3.0.x/jbds-build
> ln -s /home/hudson/hudson_workspace/workspace/jbosstools-3.0-jbdevstudio-2.0-REQUIREMENTS requirements
> Thus, for the 4 parallel jobs for JBDS2.0.0/2.0.1 & JBT3.0.0/3.0.1, we'll use about 3G of disk instead of 12. For the 2 parallel jobs for JBDS2.1.0 & JBT3.1.0, we'd save 3G.
> For the case where this is run on a local box (eg., my own Hudson) we just need a catch that says "if /home/hudson/hudson_workspace/workspace/jbosstools-3.1-jbdevstudio-2.1-REQUIREMENTS doesn't exist, create it, symlink to it, and begin downloading" .. of course the path there would be ~/.hudson/jobs/jbosstools-3.1-jbdevstudio-2.1-REQUIREMENTS, but it's the same relative path.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbosstools-issues
mailing list