I am planning on setting up a new Jenkins server at our company. I want to keep all deployable artifacts in Jenkins for a wide variety of reason (easy access, access control, etc.).
The company would prefer if these deployable artifacts were kept on a NAS for backup reasons. I am sure that wouldn't be an issue with Jenkins. The only issue is one of speed. Jenkins would be doing the checkout remotely, and then compiling the remote source files. That could slow things down quite a bit. Most builds are pretty fast, with in a few minutes, so it's not a terrible concern. If a job is really problematic, I could configure it to use a local working directory. However, I can see this really increasing the maintenance. For example, imagine a job I configure on the NAS and use a particular directory for local storage. The developers branch the project and now want a Jenkins job for that branch. I copy the old Jenkins job, change the checkout URL and a few other things, but forget the local working directory. Now, I have two jobs using the same local working directory. It would be nice if Jenkins could be configured, so that the working directory is automatically put elsewhere. That way, when I create a job, Jenkins would simply put the working directory in local storage for me. For example, I configure a job /mnt/nas/jenkins/jobs/foo. All directories would be on the NAS, but the working directory would be on /opt/local/jenkins/foo or /opt/local/jenkins/jobs/foo. (I really don't care as long as local working directories are unique). Is there any way to set Jenkins up to do this? Is there a plugin that can do this? -- David Weintraub [email protected]
