8

我正在运行 Jenkins 版本 1.527(我知道有一个更新的版本但它已损坏,我无法使用 1.528 中的用户界面并且没有机会升级到 1.529)

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

export HOME=/new-home-dir

但是,环境变量在 jenkins 中正确显示,并且 user.dir 显示为导出的变量,但 user.home 没有更改。

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

任何有关更改 user.home 的帮助将不胜感激。

仅供参考 - 我在 RHEL v6.2 上运行 Jenkins

尝试的解决方案

  1. 将 -Duser.home=/newDir 添加到 JAVA_OPTS 或 JAVA_ARGS,均无效
  2. 将 -Duser.home=/newDir 添加到构建作业中的 MAVEN_OPTS。
4

5 回答 5

4

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

  1. 转到管理 Jenkins > 配置系统
  2. 导航到全局属性
  3. 使复选框环境变量处于活动状态
  4. 名称字段弹出user.home
  5. 值是您想要的路径
  6. 单击应用,保存并重新启动 Jenkins

这会覆盖该路径。

于 2015-11-23T12:19:53.203 回答
3

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

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

以 root 用户身份登录或在命令前面使用 sudo 如果您不是以 root 用户身份运行它,

1) 将 Jenkins 安装目录移动到您想要的位置。

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

2) 更改 Jenkins 用户主目录。

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

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

于 2016-01-15T16:24:56.767 回答
1

我有同样的问题并以两种不同的方式解决:

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

2-设置相同的内部环境变量。只需注意使用执行 Jenkins 的同一用户设置变量。例如,如果 Jenkings Jenkins 在root下运行,您需要使用此用途指定环境变量。

观察:由于兼容性问题,如果您定义HUDSON_HOME而不是JENKINS_HOME它,则可以正常工作两个。

希望能帮助到你!

于 2014-03-17T20:34:49.237 回答
1

我在 ubuntu 服务器上遇到了同样的问题。

以 root 用户身份登录。

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

1)停止詹金斯服务。

  sudo service jenkins stop

2) 更改 Jenkins 用户主目录。

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

3)启动詹金斯服务。

  sudo service jenkins start 

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

  • 前往:管理 Jenkins > 系统信息

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

于 2019-02-26T06:36:35.840 回答
0

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

  • 转到:管理 Jenkins > 配置系统
  • 选中“环境变量”复选框
  • 在名称字段中输入“user.home”,在值字段中输入所需的用户主路径
  • 保存更改并完成在我的 Jenkins 中,我遇到了 Jenkins maven 试图从错误的 user.home 路径读取 maven settings.xml 的问题。如上所述,我通过在 Jenkins 中添加“user.home”环境变量解决了这个问题。
于 2016-12-13T14:41:45.663 回答