[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