为不同的 user.home 配置 Jenkins
Posted
技术标签:
【中文标题】为不同的 user.home 配置 Jenkins【英文标题】:Configure Jenkins for different user.home 【发布时间】:2013-09-13 07:07:48 【问题描述】:我正在运行 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
尝试的解决方案
-
将 -Duser.home=/newDir 添加到 JAVA_OPTS 或 JAVA_ARGS,均无效
将 -Duser.home=/newDir 添加到构建作业中的 MAVEN_OPTS。
【问题讨论】:
您是否尝试过在用户的 .bash_profile 中使用它?请参阅 superuser.com/questions/183870/… ; ***.com/questions/4608187/… 和 hacktux.com/bash/bashrc/bash_profile 确保为您的操作系统和外壳编辑正确的文件。可以通过 echo "am in file我找到了另一个解决方法。
-
转到管理 Jenkins > 配置系统
导航到全局属性
激活复选框环境变量
名称字段弹出user.home
值是你想要的路径
点击应用,保存并重启 Jenkins
这会覆盖该路径。
【讨论】:
这不是正确的做法!请在下面查看我的答案。【参考方案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
现在重新启动詹金斯。您应该会看到 user.home 和 HOME 变量设置为新位置。
【讨论】:
【参考方案3】:我遇到了同样的问题并通过两种不同的方式解决了:
1- 我第一次编辑文件startup.sh
,在/tomcat/bin
内。在这个文件中,我在第一行添加了这个:JENKINS_HOME=/var/jenkins
2- 设置相同的内部环境变量。只需注意使用执行 Jenkins 的同一用户设置变量。例如,如果 Jenkings Jenkins 在 root 下运行,则需要指定环境变量与此用途。
观察:由于兼容性问题,如果您定义HUDSON_HOME
而不是JENKINS_HOME
,则两个都可以正常工作。
希望对你有帮助!
【讨论】:
【参考方案4】:我在 ubuntu 服务器上遇到了同样的问题。
以 root 用户身份登录。
停止使用 jenkins 用户运行的所有进程。
1) 停止 jenkins 服务。
sudo service jenkins stop
2) 更改 Jenkins 用户主目录。
usermod -d /path/to/your/location jenkins
3) 启动 jenkins 服务。
sudo service jenkins start
您将看到 user.home 以及 HOME 和 PWD 变量设置为新位置。
转到:管理Jenkins > 系统信息
在这里您将看到更改的变量位置
【讨论】:
【参考方案5】:更改 JENKINS_HOME 和 user.home 是两个独立的主题。最初的问题都是关于更改 user.home 系统属性。我按照下面提到的步骤解决了这个问题(在 Jenkins 2.34 中):
转到:管理 Jenkins > 配置系统 选中“环境变量”复选框 在名称字段中输入“user.home”,在值字段中输入所需的用户主路径 保存更改,您就完成了 在我的 Jenkins 中,我遇到了 Jenkins maven 试图从错误的 user.home 路径读取 maven settings.xml 的问题。如上所述,我通过在 Jenkins 中添加“user.home”环境变量解决了这个问题。【讨论】:
以上是关于为不同的 user.home 配置 Jenkins的主要内容,如果未能解决你的问题,请参考以下文章