是否更改Red Hat Linux上的JENKINS_HOME?

1cosmwyk  于 2022-12-03  发布在  Jenkins
关注(0)|答案(9)|浏览(184)

我使用以下步骤安装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家”。我已经使用了导出命令,并重新启动了服务,但旧路径仍然显示在管理Jenkins屏幕上。
我也读过关于stackoverflow的2-3个类似的问题,但是对我来说总是有一个很大的缺失。在哪里可以找到我永久改变路径的文件?

new9mtju

new9mtju1#

这里有一个简单的方法来解决你的问题。首先,将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
qmb5sa22

qmb5sa222#

我设法通过修改/etc/sysconfig/jenkins文件的内容来更改Jenkins的主目录位置,如下所示:

JENKINS_HOME="/home/jenkins"
dphi5xsq

dphi5xsq3#

好的,我把你的问题再仔细看一遍,看看我们能不能搞清楚。我会列出一些你可能知道或不知道的信息。

  1. jenkins安装和jenkins home不是一回事。一个是war文件和jenkins需要运行的其他部分。jenkins_home是数据存储的地方。默认情况下,jenkins_home位于~/. jenkins中。当你启动jenkins时,它会寻找一个环境变量来告诉它在哪里可以找到这些文件。
  2. Jenkins作为一个单独的用户运行,默认情况下是jenkins。这样它就不会妨碍你了。jenkins用户不能访问你的home目录,所以这是一个糟糕的解决方案。理想情况下,它应该有自己的home目录。/home/jenkins。您的主目录可能是/home/jenkins/. jenkins。您说该文件夹不存在-如果您没有访问权限来自己创建它,这是非常好的,你可以指定任何文件夹。2但是,jenkins用户必须拥有该文件夹的所有权才能读写。
    1.看起来Redhat上的Jenkins在默认情况下将运行tomcat。
    1.这一切都是通过脚本来设置的。https://wiki.jenkins-ci.org/display/JENKINS/JenkinsLinuxStartupScript似乎是用于此目的的脚本。即使您对shell脚本一无所知,这也不是太难...带有#的行是注解。第一行
    Jenkins_用户=Jenkins
    设置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

ki0zmccv

ki0zmccv4#

我也面临过同样的问题。连接一些点,我可以修复我的Jenkins后,我移动Jenkins到一个新的位置,由于同样的问题-空间在磁盘下/var/lib/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
xzabzqsa

xzabzqsa5#

如果有人有空间问题,你必须重新安置你的Jenkins,只是想重申::

  1. sudo service jenkins stop
  2. sudo mv /var/lib/jenkins /home
  3. sudo ln -s /home/jenkins /var/lib/jenkins
  4. sudo service jenkins start
    效果很好,所以感谢几年前发布这个答案的人!
rpppsulh

rpppsulh6#

Richard Chen的位置就是我在CentOS 6.6系统上找到Jenkins文件的地方。

  1. sudo服务jenkins停止
    1.我的位置
    1.(确保新位置具有正确的所有权和组-- Jenkins)
    1.修改了文件/etc/sysconfig/jenkins的内容,如下所示:
    JENKINS_HOME="/主页/我的位置”
  2. sudo服务jenkins启动
35g0bw71

35g0bw717#

如果所有这些都不起作用,那么唯一有效的解决方案是编辑以下文件

/lib/systemd/system/jenkins.service

然后需要通过运行

systemctl daemon-reload

在此之后,重新启动服务将反映该改变。

fafcakar

fafcakar8#

一些命令对我的工作如下:
步骤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
wz3gfoph

wz3gfoph9#

**[A]**如果您不知道Jenkins个人文件夹的位置,请查找它?

Jenkins -〉管理Jenkins -〉配置系统-〉检查标签“主目录”

**[B]**要将当前Jenkins主文件夹移动到新目录。请按照以下步骤操作:-

1.停止Jenkins服务-通过终止进程
1.按照以下方法之一为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/"

1.手动将Jenkins主文件夹内容从旧主文件夹复制到新主文件夹。(使用cp命令)。建议复制步骤保留一个备份,而不是移动。稍后您可以删除旧工作区。
1.现在启动Jenkins,然后它将从JENKINS_HOME变量中提到的路径中选择新的主目录。

  • 注意:-仅通过将上述变量“JENKINS_HOME”设置为不同的路径将不会自动将文件从当前Jenkins主路径复制到新路径。此复制步骤-您必须手动完成。*

相关问题