安装为服务时,在Windows上重新定位JENKINS_HOME

为了释放C:上的空间,我想将我的Jenkins数据文件(特别是\jobs目录)从默认安装目录C:\Program Files (x86)\JenkinsF:\Jenkins\home 。 我我需要做的是将JENKINS_HOME环境variables设置为F:\Jenkins\home 。 但不pipe我尝试什么, JENKINS_HOME环境variables总是被设置为jenkins.exe的位置。

有关:

  • 如何更改Windows上的Jenkins默认文件夹?
  • JIRA问题JENKINS-13530 JENKINS_HOME在捆绑的Windows EXE上被忽略为“不是问题”

这是我迄今为止所尝试的:

  1. 将jenkins数据移至F:\ Jenkins \ home
  2. 停止运行jenkins服务
  3. jenkins.exe uninstall jenkins服务
  4. 卸载jenkins
  5. 删除%HOMEPATH%\.jenkins目录
  6. 删除旧的jenkins安装目录
  7. 下载最新的MSI安装程序v1.597
  8. 安装到C:\Program Files (x86)\Jenkins2 (重命名,以确保在registry或configuration文件中没有陈旧的值)
  9. 将系统级别的环境variablesJENKINS_HOMEF:\Jenkins\home
  10. 将用户级别的环境variablesJENKINS_HOMEF:\Jenkins\home
  11. 修改jenkins.xml以使用<env name="JENKINS_HOME" value="F:\Jenkins\home"/>
  12. 开始Jenkins服务

此时,当我查看系统configuration时, JENKINS_HOME被设置为C:\Program Files (x86)\Jenkins2 。 所以它似乎必须始终设置为jenkins.exe的位置。

也许我已经回答了我自己的问题。 如果可能的话,我希望将程序和数据分开。 我必须安装jenkins到我的F:\驱动器? 或者,有没有办法简单地拆分jobs目录,并把所有其他的C: :?

谢谢!

编辑 :我没有移动JENKINS_HOME ,而是能够configuration工作区build立目录,这将所有重磁盘使用移到F: JENKINS_HOME 我select的设置是:

工作空间根目录= F:/Jenkins/workspace/${ITEM_FULLNAME}build立logging根目录= F:/Jenkins/jobs/${ITEM_FULL_NAME}/builds

我手动迁移这些目录,所以他们不会被重新创build。 在这个过程中,我确实失去了自己的构build历史,但现在我还是可以的。

JENKINS_HOME是Jenkins安装的地方,而不是你想要改变的地方。 启动Jenkins之后,请转到:

  1. 管理詹金斯
  2. 系统配置
  3. 点击第一个“高级”按钮

这为您提供了文本字段,您可以在其中更改工作区的目录并生成目录。 这些是两个使用很多磁盘空间的目录。 请注意,它不会移动历史记录。 如果你想移动现有的工作区/等,你需要手动复制它们。

对于Jenkins 2.0,只需要添加一个名为“JENKINS_HOME”的系统环境变量来指向新的位置。 我使用的步骤:

  1. 停止托管Jenkins的容器(例如Tomcat)。
  2. 添加一个名为“JENKINS_HOME”的系统环境变量,指向新的位置。
  3. 重新启动Jenkins的容器。

如果你正在使用比2.0更早的jenkins版本,你应该这样做:

1)打开jenkins – >管理Jenkins – >配置系统。 检查您的主目录的路径。 2)停止詹金斯服务。 3)将詹金斯主目录复制到您想要移动的其他驱动器或位置。 4)从程序文件中打开jenkins.xml并修改值<env name="JENKINS_HOME" value="d:\Jenkins"/>将d:\ Jenkins更改为新路径。 5)重新启动Jenkins服务。 6)测试你的工作:)

在这个问题上陷入困境,因为我在C:上的硬盘空间很短,但在D:上有很多。

珍妮·博伊萨斯基的回答对我的詹金斯完全没有影响。 尽管我更改了两个变量,但Jenkins仍然使用原来的workspacejobs目录,这些目录占用了我的C:/驱动器的1/3。

一位同事指出我简单地使用符号链接的目录的简单的解决方案。

关闭Jenkins之后,打开%JENKINS_HOME%目录下的CMD ,并简单地为大目录创建两个链接:

 pushd %JENKINS_HOME% :: save the old directories ren workspace workspace.old ren jobs jobs.old :: now create the links mklink /D /J workspace D:\jenkins\workspace mklink /D /J jobs D:\jenkins\jobs :: copy the original jobs to the new location xcopy jobs.old\* jobs\ /sy 

之后,重新启动你的詹金斯。 如果一切正常,您可以安全地删除.old目录。

另一种可能性是移动$ JENKINS_HOME的全部内容。

它不需要编辑配置文件,它保留了构建历史。

  1. 停止正在运行的服务: jenkins.exe stop

  2. 卸载服务: jenkins.exe uninstall

  3. 将C:\ Jenkins \ home复制到F:\ Jenkins \ home

  4. 将C:\ Jenkins重命名为其他内容,将其保留为备份。

  5. 转到F:\ Jenkins \ home

  6. 重新安装服务: jenkins.exe install

  7. 启动Jenkins: jenkins.exe start

享受新的磁盘空间!