为不同的user.home配置Jenkins

时间:2013-09-09 18:04:39

标签: java linux jenkins maven-3 rhel

我正在运行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。

5 个答案:

答案 0 :(得分:2)

我找到了另一个workaroud。

  1. 转到Manage Jenkins>配置系统
  2. 导航至全局属性
  3. 激活Checkbox环境变量
  4. 名称字段弹出user.home
  5. 值是您想要的路径
  6. 单击“应用”,“保存并重新启动Jenkins”
  7. 这会覆盖该路径。

答案 1 :(得分:2)

我确实遇到了同样的问题。您不能只添加环境变量来更改路径。您需要更改jenkins用户的主目录。

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

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

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

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

2)更改Jenkins用户主目录。

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

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

答案 2 :(得分:1)

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

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

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

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

希望它有所帮助!

答案 3 :(得分: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>系统信息

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

答案 4 :(得分:0)

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

  • 转到:管理Jenkins>配置系统
  • 检查'环境变量'复选框
  • 输入' user.home'在“名称”字段中,在“值字段”
  • 中显示所需的用户主路径
  • 保存更改,您就完成了 在我的Jenkins中,我遇到了Jenkins maven试图从错误的user.home路径读取maven settings.xml的问题。我通过添加' user.home'解决了这个问题。詹金斯的环境变量,如上所述。