要释放C:
上的空间,我想将我的Jenkins数据文件(特别是\jobs
目录)从默认安装目录C:\Program Files (x86)\Jenkins
移至F:\Jenkins\home
。我认为我需要做的是将JENKINS_HOME
环境变量设置为F:\Jenkins\home
。但无论我尝试什么,JENKINS_HOME
环境变量始终设置为jenkins.exe
的位置。
相关:
以下是我迄今为止所做的尝试:
jenkins.exe uninstall
%HOMEPATH%\.jenkins
目录v1.597
C:\Program Files (x86)\Jenkins2
(已重命名以确保注册表或配置文件中没有陈旧值)JENKINS_HOME
设置为F:\Jenkins\home
JENKINS_HOME
设置为F:\Jenkins\home
jenkins.xml
使用<env name="JENKINS_HOME" value="F:\Jenkins\home"/>
此时,当我查看系统配置时,JENKINS_HOME
设置为C:\Program Files (x86)\Jenkins2
。所以似乎必须始终设置为jenkins.exe
的位置。
也许我已经回答了我自己的问题。如果可能的话,我希望将程序和数据分开。我必须在我的F:\
驱动器上安装jenkins吗?或者,有没有办法简单地拆分jobs
目录并将其他所有内容保留在C:
上?
谢谢!
编辑:我不必须移动JENKINS_HOME
,而是能够配置工作区和构建目录,将所有繁重的磁盘使用量移至F:
。我选择的设置是:
工作区根目录= F:/Jenkins/workspace/${ITEM_FULLNAME}
构建记录根目录= F:/Jenkins/jobs/${ITEM_FULL_NAME}/builds
我手动迁移这些目录,因此不必重新创建它们。在这个过程中,我确实失去了我的构建历史,但我现在还可以。
答案 0 :(得分:17)
Pre Jenkins 2.121
JENKINS_HOME是安装Jenkins的地方,这不是你想要改变的地方。启动Jenkins后,请转到:
这为您提供了文本字段,您可以在其中更改工作区的目录并构建目录。这些是使用大量磁盘空间的两个目录。请注意,它不会移动历史记录。如果要移动现有工作区/等,则需要手动复制它们。
发布2.121 您必须设置属性(而不是通过UI)。要使用的系统属性是jenkins.model.Jenkins.buildsDir。
https://jenkins.io/doc/upgrade-guide/2.121/#ui-option-for-custom-builds-and-workspace-directories-on-the-master-has-been-removed https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties
答案 1 :(得分:6)
另一种可能性是移动$ JENKINS_HOME的全部内容。
它不需要编辑配置文件,它保留了构建历史记录。
停止正在运行的服务:value is not None
卸载服务:jenkins.exe stop
将C:\ Jenkins \ home复制到F:\ Jenkins \ home
将C:\ Jenkins重命名为其他内容,将其保留为备份。
转到F:\ Jenkins \ home
重新安装服务:jenkins.exe uninstall
启动Jenkins:jenkins.exe install
享受新的磁盘空间!
答案 2 :(得分:5)
对于Jenkins 2.0,只需要添加一个名为“JENKINS_HOME”的系统环境变量,该变量指向新位置。我使用的步骤:
答案 3 :(得分:3)
对于WINDOWS:
从中复制所有数据
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins.jenkins
到D:\Jenkins\home
转到Jenkins安装的文件夹C:\Program Files\Jenkins
从命令行-jenkins.exe stop
从命令行-jenkins.exe uninstall
更新 jenkins.xml
为<env name="JENKINS_HOME" value="D:\JenkinsHome"/>
安装 Jenkins服务-jenkins.exe install
从命令行-jenkins.exe start
登录到Jenkins http://localhost:8080
导航到Manage Jenkins > Configure System
验证主目录必须指向D:\ JenkinsHome
答案 4 :(得分:2)
如果您使用的旧版本超过2.0,请执行以下操作:
1)打开jenkins - &gt;管理Jenkins - &gt;配置系统。检查主目录的路径。
2)停止jenkins服务。
3)将jenkins主目录复制到您要移动的其他驱动器或位置。
4)从程序文件中打开jenkins.xml并修改值<env name="JENKINS_HOME" value="d:\Jenkins"/>
将d:\ Jenkins更改为新路径。
5)重启Jenkins服务。
6)测试你的工作:)
答案 5 :(得分:2)
首先设置jenkins主路径,然后运行/ install jenkins.war
示例:
set JENKINS_HOME=D:\
java -jar jenkins.war --httpPort=8091 -path=D:\<some-folder-name>\
答案 6 :(得分:1)
偶然发现这个问题,因为我在C:/上的硬盘短缺,但在D:/上有很多。
The answer of Jeanne Boyarsky对我的詹金斯影响不大。虽然我更改了这两个变量,但Jenkins仍然使用了原来的workspace
和jobs
目录,这些目录占用了我的C:/驱动器的1/3。
一位同事向我指出了简单地使用符号链接作为目录的简单解决方案。
关闭Jenkins后,打开CMD
目录上的%JENKINS_HOME%
,只需为大目录创建两个链接:
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
在此之后,重启你的Jenkins。如果一切正常,您可以安全地删除.old
目录。
答案 7 :(得分:1)
遇到相同的问题,并且不想更改整个%JENKINS_HOME%
的位置,我遇到了answer by adil ameen
修改config.xml
中的%JENKINS_HOME%
文件(通常在C:\ Program Files(x86)\ Jenkins下)。
将<workspaceDir>
和<buildsDir>
更改为所需的文件夹。
您可以使用以下占位符:${JENKINS_HOME}
,${ITEM_ROOTDIR}
,${ITEM_FULL_NAME}
。根据{{1}}
我的看起来像这样:
jenkins.model.Jenkins.buildsDir
通过 <workspaceDir>D:/jenkins/jobs/${ITEM_FULL_NAME}/workspace</workspaceDir>
<buildsDir>D:/jenkins/jobs/${ITEM_FULL_NAME}/builds</buildsDir>
-> Jenkins
-> Manage Jenkins
如果您将旧作业复制到新位置,甚至可以保留构建历史记录。