如何在 Windows 上更改 Jenkins 默认文件夹?
Posted
技术标签:
【中文标题】如何在 Windows 上更改 Jenkins 默认文件夹?【英文标题】:How to change Jenkins default folder on Windows? 【发布时间】:2012-09-23 05:43:37 【问题描述】:如何在 Jenkins 作为 Windows 服务运行的 Windows 上更改 Jenkins 默认文件夹。
由于C:
分区上的空间不足,我想将C:\Users\Coola\.jenkins
文件夹更改为d:\Jenkins
(每个构建需要大约10MB 的可用空间)。我不想将Jenkins
重新安装为 Windows 服务。我只想更改现有Jenkins
实例的文件夹。如果缺乏全局解决方案,我只能专注于重新定位 jobs
文件夹。
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:我们通过将 .war 放入 Tomcat 进行安装,并且可以通过只需设置环境变量 JENKINS_HOME
(重启服务)来设置主页。
【讨论】:
【参考方案2】:我能够在 http://tech.nitoyon.com/en/blog/2014/02/25/jenkins-home-win/ 之后更改 JENKINS_HOME 变量
将 JUST %JENKINS_HOME% 设置为 Windows 系统范围的环境变量没有任何效果!
【讨论】:
【参考方案3】:显然,克的答案有效,但不是首选。在 Windows 中,软件和数据/配置文件应该位于不同的位置。这对于 Unix 人来说应该是众所周知的,它基本上就像拥有一个主目录。但是,无论如何,关于 JENKINS_HOME 的措辞都被破坏了,因为尽管帮助文本中有说明,但设置环境变量并没有帮助。
我使用了这里描述的过程:http://tech.nitoyon.com/en/blog/2014/02/25/jenkins-home-win/
基本上:
-
停止 Jenkins 服务
在 Jenkins 安装目录中的
jenkins.xml
中编辑条目 <env name="JENKINS_HOME" value="%BASE%"/>
。这将类似于C:\Program Files (x86)\Jenkins
。在您的情况下,value
必须设置为 d:\Jenkins
将文件从安装目录移动到新的目的地d:\Jenkins
,除了(其中一些可能在全新安装中不存在)
jenkins.xml
-
再次重启服务。
【讨论】:
这对我有用。我还意识到我不需要移动“war”文件夹,因为它在 C:\Program Files (x86)\Jenkins 中重新生成。【参考方案4】:这是对我有用的答案:Jenkins: How to change JENKINS_HOME on Windows
【讨论】:
ty @Carlos!这对我也有帮助。转到页面的提示; localhost:8080/systemInfo 显示所有变量也非常有帮助。【参考方案5】:当您阅读Administering Jenkins 时,您可以阅读如何修改 JENKINS_HOME 环境变量的所有选项。
在this website 上,您可以阅读如何配置 Tomcat 容器以覆盖 JENKINS_HOME 环境变量,他们建议创建文件 $CATALINA_BASE/conf/localhost/jenkins.xml,其内容如下:
<Context docBase="../jenkins.war">
<Environment name="JENKINS_HOME" type="java.lang.String" value="/data/jenkins" override="true"/>
</Context>
【讨论】:
【参考方案6】:除了grams answer之外,最重要的部分是创建一个名为JENKINS_HOME 的环境变量,其值为“D:\Jenkins”。没有它,在启动 Jenkins 时,它会再次在您的用户主文件夹中创建 .jenkins 文件夹。
【讨论】:
可能没有必要。 AFAIK 似乎本机 Windows 安装程序不创建(或需要) JENKINS_HOME 环境变量。查看issue #JENKINS-13530 但我想无论如何检查 JENKINS_HOME 会更安全。 您不需要 Windows 安装程序即可将 Jenkins 安装为服务。您也可以简单地运行 WAR,然后从菜单中选择它。在这种情况下,你的权利,没有必要,因为 Jenkins 创建了一个 jenkins.xml 文件,它将当前目录设置为 JENKINS_HOME。【参考方案7】: 停止 Jenkins 服务 将C:\Users\Coola\.jenkins
文件夹移动到d:\Jenkins
使用 regedit,将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Jenkins\ImagePath
更改为 "d:\Jenkins\jenkins.exe"
启动服务
【讨论】:
答案有帮助。此外,我不得不清除所有使用 tfs 插件来获取源代码的工作的工作区。这因“无法确定工作区”错误而失败。 我还必须向 Windows 防火墙添加一个新的入站规则,只需将 c:\Program Files (x86)\Jenkins\jre\bin\java.exe 的现有规则复制到 java.exe在新文件夹中 涉及编辑 jenkins.xml 的排名较低的答案允许在代码和数据之间进行更清晰的划分。 我的 Jenkins 版本(从 .msi 安装)没有创建基于用户的“.jenkins”文件夹。所以,我不得不采用不同的答案 - 必须移动一堆文件并且必须更改 jenkins.xml 的复杂答案以上是关于如何在 Windows 上更改 Jenkins 默认文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上使用 npm install 时,Jenkins 脚本过早退出
如何在没有远程桌面连接的 jenkins windows slave 上运行 GUI 测试?