简单问题:如何更改 jenkins 主目录位置?默认情况下它指向/var/lib/jenkins
而我希望它指向/home/jenkins
. 我已更改$JENKINS_HOME
为,/home/jenkins
但对我没有帮助。
7 回答
对于我在 RHEL 7.2 上的 Jenkins 2.7.2 上已经启动 jenkins 并配置构建后,我需要:
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
这似乎对我来说已经完成了。
要更改 Jenkins 主目录,您只需设置“JENKINS_HOME”环境变量以指向新位置。您还可以将 JENKINS_HOME 设置为系统属性或 JNDI 环境条目,如文档中所述。
Jenkins 通常与自己的用户一起运行,
因此更改该用户的主目录应该可以完成这项工作。
如果不确定,只需使用 shell 命令(如“id”或“whoami”或“env”)运行测试作业,即可找到 Jenkins 使用的用户。
另外,请注意“ Started by user anonymous
”消息并不意味着 Jenkins 以匿名用户身份开始 -
请参阅Sagar和Peter Tran的相关答案:
我正在使用 Ubuntu 服务器并使用 Jenkins 版本(2.277.4 +)。我能够通过以下方式更改 Jenkins 主目录:
- 将 JENKINS_HOME 值更改
/etc/default/jenkins
为所需的文件夹名称。 - 更新目标文件夹的权限,使
jenkins
用户对该文件夹具有读、写、执行权限。
我尝试设置 PATH 的东西,但它似乎不起作用,因为它可能必须在没有真正的 unix 用户帐户的 Jenkins 用户下。我发现该变量也可以在 /etc/sysconfig/jenkins 中访问,这在我重新启动 Jenkins 时起到了作用。
[A]找到你当前的 jenkins 主文件夹,如果你不知道它在哪里?
Jenkins -> 管理 Jenkins -> 配置系统 -> 检查标签“主目录”
[B]将当前 Jenkins 主文件夹移动到新目录。请按照以下步骤操作:-
停止 Jenkins 服务 - 通过终止进程
按照以下方法之一为 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/"
手动将 Jenkins 主文件夹内容从旧主文件夹复制到新主文件夹。(在 windows 中, ctrl + c / v 。在 Unix 中,使用 cp 命令)。建议不要移动,而是复制步骤保留一份备份。稍后我们可以删除旧工作区。
现在启动 Jenkins,然后它将从 JENKINS_HOME 变量中提到的路径中选择新的主目录。
注意: - 只需将上述变量“JENKINS_HOME”设置为不同的路径,不会自动将文件从当前 Jenkins 主路径复制到新路径。此复制步骤 - 您必须自己手动完成。
遵循步骤:
sudo su
service jenkins stop
nano /etc/default/jenkins
- 将
JENKINS_HOME
变量更改为您想要的任何文件夹 - 保存
service jenkins start*