如何在Jenkins上更改工作区并构建记录根目录?

u4vypkhs  于 2023-04-20  发布在  Jenkins
关注(0)|答案(9)|浏览(225)

我希望Jenkins的数据被写入驱动器“E:”,因为这是服务器上的大驱动器。Jenkins本身安装在“C:”上。
我该怎么做?
我看到的默认配置是:

工作区根目录:${ITEM_ROOTDIR}/workspace
构建记录根目录:${ITEM_ROOTDIR}/builds

以下更改是否能帮助我实现所需的目标?

**Workspace根目录:**E:/Jenkins/workspace
**构建记录根目录:**E:/Jenkins/builds/${ITEM_FULL_NAME}

另外,“${ITEM_FULL_NAME}”是什么意思?

zpf6vheq

zpf6vheq1#

我想明白了。为了将Jenkins数据保存在其他驱动器上,您需要执行以下操作:

**工作区根目录:**E:\Jenkins${ITEM_FULL_NAME}\workspace
**构建记录根目录:**E:\Jenkins${ITEM_FULL_NAME}\builds

yjghlzjz

yjghlzjz2#

可以修改默认目录中config.xml文件的路径

<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>D:/Workspace/${ITEM_FULL_NAME}</workspaceDir>
<buildsDir>D:/Logs/${ITEM_ROOTDIR}/Build</buildsDir>
iqjalb3h

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},否则不同的作业将最终共享同一个工作空间。

jk9hmnmh

jk9hmnmh4#

您需要的变量在Jenkins Wiki中有解释:https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties
默认变量ITEM_ROOTDIR指向jenkins安装中的一个目录。正如你已经发现的,你需要:

  • 工作区根目录:E:/myJenkinsRootFolderOnE/${ITEM_FULL_NAME}/workspace
  • 构建记录根目录:E:/myJenkinsRootFolderOnE/${ITEM_FULL_NAME}/builds

现在你需要通过config.xml来实现这一点。引用上面链接的wiki页面:
这曾经是一个UI设置,但在2.119中被删除,因为它不支持迁移现有的构建记录,并且可能导致与构建相关的错误,直到重新启动。

jexiocij

jexiocij5#

我建议编辑/etc/default/jenkins

vi /etc/default/jenkins

并将$JENKINS_HOME变量(第23行附近)更改为

JENKINS_HOME=/home/jenkins

然后按常规重新启动Jenkins

/etc/init.d/jenkins start

干杯!

1wnzp6jl

1wnzp6jl6#

您还可以编辑JENKINS_HOME目录中的config.xml文件。

nfg76nw0

nfg76nw07#

默认情况下,Jenkins将其所有数据存储在文件系统的此目录中。
有几种方法可以更改Jenkins的主目录:

  • 编辑Jenkins配置文件中的JENKINS_HOME变量(例如Red Hat Linux上的/etc/sysconfig/jenkins)。
  • 使用Web容器的管理工具设置JENKINS_HOME环境变量。
  • 在启动Web容器之前,或者直接从WAR文件启动Jenkins之前,设置环境变量JENKINS_HOME
  • 在启动Web容器或直接从WAR文件启动Jenkins时,设置JENKINS_HOME Java系统属性。
  • 修改jenkins.war中的web.xml(或其在Web容器中的扩展映像)。不建议这样做。Jenkins运行时不能更改此值。此处显示此值是为了帮助您确保配置生效。
4sup72z8

4sup72z88#

如果您进入主页下的配置,有一个“帮助”说明,说明如何:
主目录/var/lib/jenkins功能帮助:主目录
默认情况下,Jenkins将其所有数据存储在文件系统的此目录中。
有几种方法可以更改Jenkins的主目录:

Edit the JENKINS_HOME variable in your Jenkins configuration file (e.g. /etc/sysconfig/jenkins on Red Hat Linux).
Use your web container's admin tool to set the JENKINS_HOME environment variable.
Set the environment variable JENKINS_HOME before launching your web container, or before launching Jenkins directly from the WAR file.
Set the JENKINS_HOME Java system property when launching your web container, or when launching Jenkins directly from the WAR file.
Modify web.xml in jenkins.war (or its expanded image in your web container). This is not recommended.

Jenkins运行时不能更改此值。此处显示此值是为了帮助您确保配置生效。

wmvff8tz

wmvff8tz9#

def finder = new FileNameFinder()
def files = finder.getFileNames '\\pkg\\stage\\', '*.sln'
echo "$files"

jenkins正在/var/lib/jenkins/pkg/stage中搜索文件,它会自动添加/var/lib/jenkins路径

相关问题