我希望Jenkins的数据被写入驱动器“E:”,因为这是服务器上的大驱动器。Jenkins本身安装在“C:”上。
我该怎么做?
我看到的默认配置是:
工作区根目录:${ITEM_ROOTDIR}/workspace
构建记录根目录:${ITEM_ROOTDIR}/builds
以下更改是否能帮助我实现所需的目标?
**Workspace根目录:**E:/Jenkins/workspace
**构建记录根目录:**E:/Jenkins/builds/${ITEM_FULL_NAME}
另外,“${ITEM_FULL_NAME}”是什么意思?
9条答案
按热度按时间zpf6vheq1#
我想明白了。为了将Jenkins数据保存在其他驱动器上,您需要执行以下操作:
**工作区根目录:**E:\Jenkins${ITEM_FULL_NAME}\workspace
**构建记录根目录:**E:\Jenkins${ITEM_FULL_NAME}\builds
yjghlzjz2#
可以修改默认目录中
config.xml
文件的路径iqjalb3h3#
编辑:根据其他评论,“高级...”按钮似乎已在Jenkins的最新版本中删除。如果您的版本没有它,请参阅knorx's answer。
我也遇到了同样的问题,即使在找到this old pull request之后,我仍然很难找到在系统级别指定工作区根目录或构建记录根目录的位置,而不是为每个作业指定自定义工作区。
要设置这些:
1.导航到
Jenkins
-〉Manage Jenkins
-〉Configure System
1.在顶部的
Home directory
下,单击Advanced...
按钮:1.现在,将显示“工作区根目录”和“构建记录根目录”的字段:
此值可能包括以下变量:
${JENKINS_HOME}
-Jenkins主目录的绝对路径${ITEM_ROOTDIR}
-Jenkins存储给定作业的配置和相关元数据的目录的绝对路径${ITEM_FULL_NAME}
-给定作业的全名,可以用斜杠分隔,例如foo/bar表示文件夹foo中的作业栏该值通常应该包括
${ITEM_ROOTDIR}
或${ITEM_FULL_NAME}
,否则不同的作业将最终共享同一个工作空间。jk9hmnmh4#
您需要的变量在Jenkins Wiki中有解释:https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties
默认变量ITEM_ROOTDIR指向jenkins安装中的一个目录。正如你已经发现的,你需要:
现在你需要通过config.xml来实现这一点。引用上面链接的wiki页面:
这曾经是一个UI设置,但在2.119中被删除,因为它不支持迁移现有的构建记录,并且可能导致与构建相关的错误,直到重新启动。
jexiocij5#
我建议编辑/etc/default/jenkins
并将$JENKINS_HOME变量(第23行附近)更改为
然后按常规重新启动Jenkins
干杯!
1wnzp6jl6#
您还可以编辑JENKINS_HOME目录中的config.xml文件。
nfg76nw07#
默认情况下,Jenkins将其所有数据存储在文件系统的此目录中。
有几种方法可以更改Jenkins的主目录:
JENKINS_HOME
变量(例如Red Hat Linux上的/etc/sysconfig/jenkins
)。JENKINS_HOME
环境变量。JENKINS_HOME
。JENKINS_HOME
Java系统属性。web.xml
(或其在Web容器中的扩展映像)。不建议这样做。Jenkins运行时不能更改此值。此处显示此值是为了帮助您确保配置生效。4sup72z88#
如果您进入主页下的配置,有一个“帮助”说明,说明如何:
主目录/var/lib/jenkins功能帮助:主目录
默认情况下,Jenkins将其所有数据存储在文件系统的此目录中。
有几种方法可以更改Jenkins的主目录:
Jenkins运行时不能更改此值。此处显示此值是为了帮助您确保配置生效。
wmvff8tz9#
jenkins正在/var/lib/jenkins/pkg/stage中搜索文件,它会自动添加/var/lib/jenkins路径