How to change Jenkins default folder on Windows where Jenkins runs as Windows service.
I want to change C:\Users\Coola\.jenkins
folder to d:\Jenkins
due to lack of space on C:
partition (Every build takes ~10MB of free space). I don't want to reinstall Jenkins
as Windows service. I just want to change folder of existing Jenkins
instance. In case of lack of global solution I could focus only on relocating jobs
folder.
Thanks in advance for your help.
Apparently, grams' answer works but is not preferred. In Windows software and data/configuration files are supposed to reside in different places. This should be well known to Unix guys, it is basically like having a home directory. However, the wording with regard to JENKINS_HOME is broken anyways as setting an environment variable does not help despite what is being said in the help text.
I used the procedure that is described here: http://tech.nitoyon.com/en/blog/2014/02/25/jenkins-home-win/
Basically:
- Stop Jenkins service
- Edit entry
<env name="JENKINS_HOME" value="%BASE%"/>
in jenkins.xml
in the Jenkins installation directory. This will be something like C:\Program Files (x86)\Jenkins
. In your case value
has to be set to d:\Jenkins
Move Files from the installation directory to the new destination, d:\Jenkins
, all except (some of them may not exist in a fresh installation)
- jre folder
- jenkins.err.log
- jenkins.exe
- jenkins.exe.config
- jenkins.out.log
- jenkins.war
- jenkins.war.bak
- jenkins.war.tmp
- jenkins.wrapper.log
jenkins.xml
- Restart the service again.
Here is the answer that worked for me: Jenkins: How to change JENKINS_HOME on Windows
When you read Administering Jenkins you can read all options how to modify the JENKINS_HOME environment variable.
On this website you can read how to configure you Tomcat container to override the JENKINS_HOME environment variable, they advise to create the file $CATALINA_BASE/conf/localhost/jenkins.xml, with the following content:
<Context docBase="../jenkins.war">
<Environment name="JENKINS_HOME" type="java.lang.String" value="/data/jenkins" override="true"/>
</Context>
And in addition to grams answer, the most important part is creating an environment variable named JENKINS_HOME with value "D:\Jenkins". Without that, on starting Jenkins it would again create the .jenkins folder in your user home folder.
I was able to change the JENKINS_HOME variable following this http://tech.nitoyon.com/en/blog/2014/02/25/jenkins-home-win/
Setting JUST %JENKINS_HOME% as windows system wide environment variable didn't have any effect!
We installed by dropping the .war into Tomcat, and could set home by just setting the environment variable JENKINS_HOME
(with a service restart).