Workspace

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Workspace

Mark Russell-3
Due to system constraints we need to have the workspace on a Hudson
server in a different location.  Up until now I have been setting the
custom workspace on the configuration page.  This is starting to get out
of hand.  So some questions:

(best case)
by default Hudson used $HOME/.hudson/jobs.  Is there a way to specify
the root.  we want all of the build workspaces to go
to /opt/build/workspaces and we do not want to have to specify a custom
workspace for each build.

(second best case)
can we use a variable in the custom workspace.  Specify the custom
workspace as /opt/build/workspaces/$PROJECT.  This makes sure when we
copy a project the custom workspace is set properly.

Thanks for your help.

Mark Russell
Build Master
Instantiations
+1 724-368-3331
http://www.instantiations.com




---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Workspace

Dean Yu
Hi Mark,
  I'm assuming you're talking about a Hudson master. Any reason why you
can't move your entire Hudson home directory to /opt? No need to split
out the workspace directory then...

  -- Dean

> -----Original Message-----
> From: Mark Russell [mailto:[hidden email]]
> Sent: Tuesday, February 17, 2009 11:45 AM
> To: Hudson Users List
> Subject: Workspace
>
> Due to system constraints we need to have the workspace on a
> Hudson server in a different location.  Up until now I have
> been setting the custom workspace on the configuration page.  
> This is starting to get out of hand.  So some questions:
>
> (best case)
> by default Hudson used $HOME/.hudson/jobs.  Is there a way to
> specify the root.  we want all of the build workspaces to go
> to /opt/build/workspaces and we do not want to have to
> specify a custom workspace for each build.
>
> (second best case)
> can we use a variable in the custom workspace.  Specify the
> custom workspace as /opt/build/workspaces/$PROJECT.  This
> makes sure when we copy a project the custom workspace is set
> properly.
>
> Thanks for your help.
>
> Mark Russell
> Build Master
> Instantiations
> +1 724-368-3331
> http://www.instantiations.com
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Workspace

Qazwart-2
In reply to this post by Mark Russell-3
> by default Hudson used $HOME/.hudson/jobs.  Is there a way to specify
> the root.  we want all of the build workspaces to go
> to /opt/build/workspaces and we do not want to have to specify a custom
> workspace for each build.

You can specify a new HUDSON_HOME when you load Hudson.

See: http://wiki.hudson-ci.org/display/HUDSON/Administering+Hudson


--
--
David Weintraub
[hidden email]

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Workspace

Chris Lewold
I have a similar problem (I think that's what Marks problem, too)


We depend on our project layout. Ant tasks refer to generic tasks kept in another project
(using relative paths). Classpaths are set up using relative paths to "parent projects" etc.

That's why we want to have the same structure in hudson as in our local eclipse
workspaces. This would be

hudson_root/workspace/ProjectA
hudson_root/workspace/ProjectB
.... etc ....

Hudsons default is a bit "unnatural" (from project layout point of view) being:
hudson_root/jobs/projectA/workspace
hudson_root/jobs/projectB/workspace

This cannot be changed centrally by changing huson_root, as it doesn't fix the "wrong"
relative pathing.

As a consequence I have to set the workspace location in each and every job to
hudson_root/workspace/projectName

It's a routine task, but it's nasty and subject to break stuff.


On a side note: It would already help if we could use the JOB_NAME in the the workspace
redefiniton field. Then we could always use the string "/PathToOurWorkspace/$JOB_NAME" in
the job configuration instead of e.g. "/PathToOurWorkspace/ProjectA" .... but I found no
way to do that .... $JOB_NAME doesn't expand for fields in the job configuration.


Bottomline .... if one isn't happy with the default workspace layout given by hudson it is
quite some work to redefine it.


Chris


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Workspace

Michael Donohue
If these projects are just built serially, you could put them all together as one Hudson project, and call out to each build - then they would all live in the same Hudson workspace, as you wanted.

If these project are build in parallel, how do you manage concurrent access to each project's workspace?

-Michael



On Wed, Feb 18, 2009 at 5:49 AM, Chris Lewold <[hidden email]> wrote:
I have a similar problem (I think that's what Marks problem, too)


We depend on our project layout. Ant tasks refer to generic tasks kept in another project (using relative paths). Classpaths are set up using relative paths to "parent projects" etc.

That's why we want to have the same structure in hudson as in our local eclipse workspaces. This would be

hudson_root/workspace/ProjectA
hudson_root/workspace/ProjectB
.... etc ....

Hudsons default is a bit "unnatural" (from project layout point of view) being:
hudson_root/jobs/projectA/workspace
hudson_root/jobs/projectB/workspace

This cannot be changed centrally by changing huson_root, as it doesn't fix the "wrong" relative pathing.

As a consequence I have to set the workspace location in each and every job to
hudson_root/workspace/projectName

It's a routine task, but it's nasty and subject to break stuff.


On a side note: It would already help if we could use the JOB_NAME in the the workspace redefiniton field. Then we could always use the string "/PathToOurWorkspace/$JOB_NAME" in the job configuration instead of e.g. "/PathToOurWorkspace/ProjectA" .... but I found no way to do that .... $JOB_NAME doesn't expand for fields in the job configuration.


Bottomline .... if one isn't happy with the default workspace layout given by hudson it is quite some work to redefine it.


Chris



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Workspace

Ringo De Smet
2009/2/21 Michael Donohue <[hidden email]>:
> If these projects are just built serially, you could put them all together
> as one Hudson project, and call out to each build - then they would all live
> in the same Hudson workspace, as you wanted.
>
> If these project are build in parallel, how do you manage concurrent access
> to each project's workspace?
>

Also, what if you build in a distributed fashion? I suggest the
original posters to have a look at Ivy for their dependency
management. All built artifacts are posted to a central location one
way or another. The easiest approach is to link Ivy to a Maven2
repository. Setting up Nexus as a repository manager is a breeze...

Ringo

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Workspace

FarhanS
In reply to this post by Chris Lewold
Hi Chris,

I wanted to know as to how you change the workspace location (as you mentioned) to
"hudson_root/workspace/projectName", since from the UI, you can only specify the relative (to "hudson home") path, so given the above path would postfix to the "hudson home".

Manually changing the jobs/[job-name]/config.xml doesnt change the memory footprint...

I know this is not the suggested approach by some, but for now as I setup Hudson for the first time for nightly build, for a relatively complex project structure, I don't seem to have a relative neat alternative..

Thanks,
Farhan.
Reply | Threaded
Open this post in threaded view
|

Re: Workspace

Matthew.Webber
All our jobs specify the same custom workspace value of
${HUDSON_WORKSPACE_PARENT}/${JOB_NAME}-${EXECUTOR_NUMBER}

HUDSON_WORKSPACE_PARENT is a global environment variable set on the main
Hudson configuration page to "/scratch/hudson_workspace" (and overridden
on a couple of slave nodes in their configuration). On our machines,
/scratch is similar to /tmp.

Note that the workspace location starts with "/", which means it is no
longer under HUDSON_HOME.

Thanks,
Matthew

> -----Original Message-----
> From: FarhanS [mailto:[hidden email]]
> Sent: 16 February 2010 01:09
> To: [hidden email]
> Subject: Re: Workspace
>
>
> Hi Chris,
>
> I wanted to know as to how you change the workspace location (as you
> mentioned) to
> "hudson_root/workspace/projectName", since from the UI, you
> can only specify the relative (to "hudson home") path, so
> given the above path would postfix to the "hudson home".
>
> Manually changing the jobs/[job-name]/config.xml doesnt
> change the memory footprint...
>
> I know this is not the suggested approach by some, but for
> now as I setup Hudson for the first time for nightly build,
> for a relatively complex project structure, I don't seem to
> have a relative neat alternative..
>
> Thanks,
> Farhan.
> --

--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom





---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]