如何更改Jenkins的主目录?

时间:2012-11-02 09:11:18

标签: jenkins continuous-integration home-directory

简单问题:如何更改jenkins主目录位置?默认情况下,它指向/var/lib/jenkins,而我希望它指向/home/jenkins。我已将$JENKINS_HOME更改为/home/jenkins,但这对我没有帮助。

6 个答案:

答案 0 :(得分:16)

对于我已经在启动jenkins并配置构建之后在RHEL 7.2上的Jenkins 2.7.2,我需要:

1)更改jenkins用户的主目录

sudo su -
service jenkins stop
vi /etc/passwd
#  change the /var/lib/jenkins to /home/jenkins or whatever 

2)更改启动脚本中的设置以找到它

vi /etc/sysconfig/jenkins
#   change the JENKINS_HOME to /home/jenkins or what ever

3)将所有数据复制到新位置(例如:/ home / jenkins)

cd /home
cp -Rf /var/lib/jenkins .
chown -R jenkins:jenkins *

4)重新开始

service jenkins start

这似乎已经为我做了。

答案 1 :(得分:7)

要更改Jenkins主目录,只需设置“JENKINS_HOME”环境变量即可指向新位置。您还可以将JENKINS_HOME设置为系统属性或JNDI环境条目,如文档中所述。

Jenkins Documentation

答案 2 :(得分:3)

Jenkins通常以自己的用户运行,
所以改变那个用户的家庭目录应该可以胜任。

如果不确定,只需使用shell命令(如'id'或'whoami'或'env')运行测试作业,即可找到Jenkins使用的用户。

另请注意,“Started by user anonymous”消息并不表示Jenkins以匿名用户身份开始 -
请通过SagarPeter Tran查看相关答案:

<强> how to run jenkins as a different user

答案 3 :(得分:0)

我尝试设置PATH的东西,但它似乎不起作用,因为它可能必须在没有真正的unix用户帐户的Jenkins用户下。我发现在/ etc / sysconfig / jenkins中也可以访问该变量,当我重新启动Jenkins时,这个技巧就完成了。

答案 4 :(得分:0)

[A] 找到您当前的 jenkins 主文件夹,如果您不知道它在哪里?
Jenkins -> 管理 Jenkins -> 配置系统 -> 检查标签“主目录”

[B] 将当前 Jenkins 主文件夹移动到新目录。请按照以下步骤操作:-

  1. 停止 Jenkins 服务 - 通过终止进程

  2. 按照以下方法之一为 JENKINS 设置新的主文件夹。

    a) By default Jenkins home directory is set to ~/.jenkins
    b) "JENKINS_HOME" environment variable setup in operating system.
    c) "JENKINS_HOME" entry in JNDI environment.
    d) "JENKINS_HOME" system property to the servlet container.
            Tomcat context descriptor of the servlet, you can set below field in apache-tomcat-8.5.28/conf/context.xml :
            <Context ...>
              <Environment name="JENKINS_HOME" value="/path/to/jenkins_home/" type="java.lang.String"/>
            </Context>
    
    e)  If jenkins.war file is deployed in a tomcat server , then even appending below content in bin/catalina.sh will setup JENKINS_HOME.
                CATALINA_OPTS="-DJENKINS_HOME=/path_to/jenkins_home/"
    
  3. 手动将 Jenkins 主文件夹内容从旧主目录复制到新主目录 文件夹。 (在 windows 中, ctrl + c / v 。在 Unix 中, 使用 cp 命令)。建议复制步骤保留一份备份,而不是移动。稍后我们可以删除旧的工作区。

  4. 现在启动Jenkins,然后它会选择新的主目录 来自 JENKINS_HOME 变量中提到的路径。

    注意: - 只是将上面的变量“JENKINS_HOME”设置为不同的路径不会复制 文件从当前 Jenkins 主路径自动转换为新路径。此复制步骤 - 您必须自己手动完成。

答案 5 :(得分:0)

我正在使用 Ubuntu 服务器并使用 Jenkins 版本 (2.277.4 +)。我能够通过以下方式更改 Jenkins 主目录:

  1. /etc/default/jenkins 中的 JENKINS_HOME 值更改为所需的文件夹名称。
  2. 更新目标文件夹的权限,使 jenkins 用户对该文件夹具有读、写、执行权限。