【问题标题】:How to change Jenkins default folder on Windows?如何在 Windows 上更改 Jenkins 默认文件夹?
【发布时间】:2012-09-23 05:43:37
【问题描述】:

如何在 Jenkins 作为 Windows 服务运行的 Windows 上更改 Jenkins 默认文件夹。 由于C: 分区上的空间不足,我想将C:\Users\Coola\.jenkins 文件夹更改为d:\Jenkins(每个构建需要大约10MB 的可用空间)。我不想将Jenkins 重新安装为 Windows 服务。我只想更改现有Jenkins 实例的文件夹。如果缺乏全局解决方案,我只能专注于重新定位 jobs 文件夹。

提前感谢您的帮助。

【问题讨论】:

    标签: windows continuous-integration jenkins hudson


    【解决方案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/

        基本上:

        1. 停止 Jenkins 服务
        2. 在 Jenkins 安装目录中的 jenkins.xml 中编辑条目 <env name="JENKINS_HOME" value="%BASE%"/>。这将类似于C:\Program Files (x86)\Jenkins。在您的情况下,value 必须设置为 d:\Jenkins
        3. 将文件从安装目录移动到新的目的地d:\Jenkins,除了(其中一些可能在全新安装中不存在)

          • jre 文件夹
          • jenkins.err.log
          • jenkins.exe
          • jenkins.exe.config
          • jenkins.out.log
          • jenkins.war
          • jenkins.war.bak
          • jenkins.war.tmp
          • jenkins.wrapper.log
          • jenkins.xml

            1. 再次重启服务。

        【讨论】:

        • 这对我有用。我还意识到我不需要移动“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 的复杂答案
          猜你喜欢
          • 2023-03-23
          • 1970-01-01
          • 1970-01-01
          • 2016-03-28
          • 2017-11-05
          • 2023-04-09
          • 1970-01-01
          • 2016-05-30
          • 2013-07-26
          相关资源
          最近更新 更多