I am a lecturer teaching Agile, Git and CI within a university environment. I would like students to be running individual copies of Jenkins for testing their local code on Git commit hooks and a team Jenkins repository testing code on pushing to the team Git repository (using push hooks).
The university student has a single user id and profile within the university system. We have access to spare servers but find the existing student profile is used everywhere within this environment meaning the students existing ~/.jenkins configuration file is also used by the server. This is undesirable as we wish to maintain a clear seperation between personal instances of Jenkins and the teams. There are a number of potential solutions, some require credit cards to access free off-site servers, others involve engaging with other departments within the university. We need a solution that scales and can be implemented within the course, in this trimester we are running twenty projects - a number we expect will grow over time.
The suggested solution
Jenkins currently uses what appears to be a hard coded configuration file name. It would be a self contained solution to this use case if on installation a flag can be used to set the configuration file name. This would prevent file conflicts and allow a student to run a personal copy of Jenkins and a team Jenkins on a university server.