我用这个程序安装Jenkins:
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions
启动并运行后,我发现服务器上的/ var / lib / jenkins分区非常小。我想移动它,但我不想更改它运行的用户。我是Linux新手,我很难过。如何将其移动到我的Home / Public文件夹? “Jenkins”用户似乎没有Home文件夹。它在启动时作为守护进程运行,所以我不知道在哪里配置这些设置。 我可以为Jenkins用户创建一个主文件夹吗?怎么样?
我读过这篇文章:
https://wiki.jenkins-ci.org/display/JENKINS/Administering+Jenkins
但不明白如何“设置新的Jenkins家”。我使用了export命令,并重新启动了服务,但旧的路径仍显示在Manage Jenkins屏幕中。
我已经在stackoverflow上阅读了2-3个类似的问题,但对我来说总是有一个很大的缺失。在哪里找到永久更改路径的文件?
答案 0 :(得分:35)
这是解决问题的简便方法。首先,将Jenkins目录从/var/lib/jenkins
移至/home/jenkins
。然后在/var/lib/jenkins
处创建指向/home/jenkins
的符号链接。当然,在此之前停止Jenkins服务。
sudo service jenkins stop
sudo mv /var/lib/jenkins /home
sudo ln -s /home/jenkins /var/lib/jenkins
sudo service jenkins start
答案 1 :(得分:14)
我设法通过修改/ etc / sysconfig / jenkins文件的内容来更改Jenkins的home位置,如下所示:
JENKINS_HOME="/home/jenkins"
答案 2 :(得分:6)
好的,我仔细阅读了你的问题,让我们看看我们是否可以解决这个问题。我将列出一些您可能知道或不知道的信息。
jenkins装置和jenkins家不是一回事。一个是war文件和jenkins需要运行的其他部分。 jenkins_home是存储数据的地方。默认情况下,jenkins_home位于〜/ .jenkins中。当你启动jenkins时,它会查找一个环境变量来告诉它在哪里找到这些文件。
Jenkins作为一个单独的用户运行,默认情况下是jenkins。这样它就不会妨碍你。 jenkins用户将无法访问您的主目录,因此这将是一个糟糕的解决方案。理想情况下,它将拥有自己的主目录/ home / jenkins。您的主目录可以是/home/jenkins/.jenkins。你说该文件夹不存在 - 如果你无权访问它自己创建它,那就完全没问题,你可以指定任何文件夹。但是,jenkins用户必须拥有该文件夹的所有权才能读取和写入。
看起来redhat上的Jenkins默认会运行tomcat。有关如何为tomcat设置环境变量的文档是https://wiki.jenkins-ci.org/display/JENKINS/Tomcat
这一切都是用脚本设置的。https://wiki.jenkins-ci.org/display/JENKINS/JenkinsLinuxStartupScript似乎就是用于此目的的那个。即使你对shell脚本没有任何了解,这也不是太难...带#的行是注释。第一行
JENKINS_USER =詹金斯
设置jenkins将使用的用户帐户的名称。再往下看一下,你就会看到这条线
export JENKINS_BASEDIR=/home/jenkins
export CATALINA_OPTS="-DJENKINS_HOME=$JENKINS_BASEDIR/jenkins-home -Xmx512m -Djava.awt.headless=true"
这可以让你设置一个jenkins应该存在的目录,然后将jenkins_home目录设置为/ jenkins-home。
对于您的应用程序,您可能希望执行类似这样的操作
export CATALINA_OPTS="-DJENKINS_HOME=/var/jenkinsmount/home -Xmx512m -Djava.awt.headless=true"
然后在/ var / jenkinsmount / home中存储所有构建数据(这是增长的部分!),同时将其余文件保留在当前位置。
我没有在redhat上使用过它,但希望我能够解释得足以让你真正了解正在发生的事情,以便你能够实现它!
其他信息:
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Unix+daemon
答案 3 :(得分:5)
我遇到了同样的问题和疑问。 连接一些点我可以修复我的Jenkins,因为在/ var / lib / jenkins下的磁盘中存在相同的问题空间,我将Jenkins移动到一个新的位置。
考虑到我将Jenkins指向非默认端口,以下是我必须遵循的程序。 (我已将此流程应用于2台服务器)
首先,将Jenkins目录从/ var / lib / jenkins移到/ opt / jenkins
sudo service jenkins stop
sudo mv /var/lib/jenkins /opt/
现在,您可以将工作区和构建目录更改为计算机上的任何其他位置。 Jenkins提供了3个预定义变量,可用于指定新位置:
JENKINS_HOME - Jenkins主目录
ITEM_ROOTDIR - 为其分配工作空间的作业的根目录
ITEM_FULLNAME - '/' - 分隔的职位名称,例如“foo / bar”
sudo su jenkins (access as Jenkins user)
JENKINS_HOME=/opt/jenkins
ITEM_ROOTDIR=/opt/jenkins
ITEM_FULLNAME=/opt/jenkins
exit (exit Jenkins user)
现在,编辑jenkins配置
/opt/jenkins$ sudo nano /etc/default/jenkins
修改以下行
#jenkins home location
#JENKINS_HOME=/var/lib/$NAME (here is the default)
JENKINS_HOME=/opt/jenkins (that is our new location)
更改用户的主目录
sudo usermod -d /opt/jenkins/ jenkins
sudo service jenkins start
答案 4 :(得分:1)
Richard Chen的位置是我在CentOS 6.6系统上找到jenkins文件的地方。
修改了文件/ etc / sysconfig / jenkins的内容,如下所示:
JENKINS_HOME =" /家庭/ mylocation"
答案 5 :(得分:1)
如果有人在空间方面遇到问题,并且您必须重新安置詹金斯一家,那么只需重申一下::
sudo service jenkins stop
sudo mv /var/lib/jenkins /home
sudo ln -s /home/jenkins /var/lib/jenkins
sudo service jenkins start
效果很好,所以感谢几年前发布答案的人!
答案 6 :(得分:0)
一些命令对我有用,如下所示:
第1步:停止jenkin服务并移动文件夹
systemctl stop jenkins
mv /var/lib/jenkins /whatever/folder
sudo chown jenkins -R /whatever/folder
第2步:在/ etc / default / jenkins中修改jenkins的首页位置
JENKINS_HOME=/whatever/folder/$NAME
第3步:重新启动jenkins服务
systemctl start jenkins
答案 7 :(得分:0)
[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 主文件夹内容从旧主目录复制到新主目录 文件夹。 (使用 cp 命令)。建议复制步骤保留一份备份,而不是移动。稍后您可以删除旧工作区。
现在启动Jenkins,然后它会选择新的主目录 来自 JENKINS_HOME 变量中提到的路径。
注意: - 只是将上面的变量“JENKINS_HOME”设置为不同的路径不会复制 文件从当前 Jenkins 主路径自动转换为新路径。此复制步骤 - 您必须自己手动完成。