I have a GitHub repo that\'s big and contains several independently build-able bits. If I configure Jenkins with a job (or two) for each of these, I end up with having to pu
Have a look at the Clone Workspace plugin. You can either use that or configure a job to update a local repository from Github and then have all the other jobs pull from that local repo.
This won't help with the problem that the workspaces still need the diskspace, but as far as I know there's no simple solution for that. You could either have the build steps change to a shared directory outside the workspace, but that's hacky and might break other things. Alternatively, you could use a filesystem that provides deduplication.