关于java:为不同的user.home配置Jenkins

Configure Jenkins for different user.home

我运行的是Jenkins 1.527版(我知道有一个更新的版本,但它坏了,我不能使用1.528版的用户界面,也没有机会升级到1.529版)

我正在尝试通过在启动脚本中执行以下操作来更改Jenkins中的user.home系统属性:

1
export HOME=/new-home-dir

但是,环境变量在Jenkins中正确显示,user.dir显示为导出变量,但user.home不更改。

我不能使用默认功能的原因是,我所在的企业锁定了用户的主目录,我的用户可以在其中添加或修改文件。

如果您能帮助我们改变user.home,我们将不胜感激。

仅供参考-我在Rhel V6.2上运行Jenkins

尝试的解决方案

  • 将-duser.home=/newdir添加到java-opts或java-args,两者都不起作用
  • 将-duser.home=/newdir添加到生成作业中的maven选项。

  • 我也有同样的问题。不能只添加环境变量来更改路径。您需要更改Jenkins用户的主目录本身。

    在基于Linux/Unix的系统中,在终端上运行以下命令。

    以根用户身份登录,或者在命令前面使用sudo,如果您没有以根用户身份运行它,

    1)将Jenkins安装目录移动到所需位置。

    1
      mv /var/lib/jenkins /path/to/your/location

    2)更改Jenkins用户主目录。

    1
      usermod -d /path/to/your/location jenkins

    现在重启詹金斯。您应该看到user.home和home变量设置为新位置。


    我找到了另一个解决办法。

  • 转到Manage Jenkins>配置系统
  • 导航到全局属性
  • 使复选框环境变量处于活动状态
  • 名称字段弹出user.home
  • 价值是你想要的道路
  • 单击应用、保存并重新启动Jenkins
  • 这将覆盖该路径。


    我在Ubuntu服务器上也遇到过同样的问题。

    以根用户身份登录。

    停止使用Jenkins用户运行所有进程。

    1)停止詹金斯服务。

    1
      sudo service jenkins stop

    2)更改Jenkins用户主目录。

    1
      usermod -d /path/to/your/location jenkins

    3)启动詹金斯服务。

    1
      sudo service jenkins start

    您将看到user.home和home以及pwd变量设置为新位置。

    • 转到:管理Jenkins>系统信息

    • 这里您将看到更改变量的位置


    我也遇到了同样的问题,用两种不同的方法解决了:

    1-我第一次编辑文件startup.sh,在/tomcat/bin中。在这个文件中,我在第一行添加了这个:JENKINS_HOME=/var/jenkins

    2-设置相同的内部环境变量。只需注意用执行Jenkins的同一个用户设置变量。例如,如果Jenkings-Jenkins在根目录下运行,则需要指定具有此用途的环境变量。

    观察:由于兼容性问题,如果您定义HUDSON_HOME而不是JENKINS_HOME,它将起到很好的作用。

    希望它有帮助!


    更改jenkins_Home和user.home是两个独立的主题。最初的问题都是关于更改user.home系统属性。我通过以下步骤解决了这个问题(在Jenkins 2.34中):

    • 转到:管理Jenkins>配置系统
    • 选中"环境变量"复选框
    • 在"名称"字段中输入"user.home",在"值"字段中输入所需的用户主路径
    • 保存更改并完成在我的Jenkins中,我面临这样一个问题:Jenkins Maven试图从错误的user.home路径中读取maven settings.xml。我通过在Jenkins中添加"user.home"环境变量解决了这个问题,如上面所述。