jenkins 配置工作目录

最近多个项目都要用jenkins,部署在同一台服务器上。由于各项目间有冲突,需要调整每个项目的jenkins工作目录。

1、在tomcat目录下的 conf目录,新建一个jenkins.xml 配置文件,配置JENKINS_HOME

<Context docBase="/usr/local/xxx/apache-tomcat-9.0.4/webapps/jenkins.war">
<Environment name="JENKINS_HOME" type="java.lang.String" value="/usr/local/xxx/apache-tomcat-9.0.4/jenkins_home" override="true"/>
<Context>

上述配置中,docBase="/usr/local/xxx/apache-tomcat-9.0.4/webapps/jenkins.war"这一段是jenkins.war包的绝对路径;value="/usr/local/xxx/apache-tomcat-9.0.4/jenkins_home"这一段是配置新的工作目录的绝对路径;

配置好后,若之前从未启动过jenkins,那么先启动服务;
启动完成后,/webapps/目录下会生成jenkins目录(若Jenkins.war包在webapps/目录),而后在jenkins目录中修改WEB-INF/web.xml文件。
配置env-entry-nameJENKINS_HOMEenv-entry-value为新的工作目录。

  <env-entry>
    <env-entry-name>JENKINS_HOME</env-entry-name> <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>/usr/local/xxx/apache-tomcat-9.0.4/jenkins_home</env-entry-value>
  </env-entry>

上述操作完毕后,重启tomcat, 至此新的工作目录已经配置好了。新配置的工作目录下,生成了一堆文件。

[root@test-cdh jenkins_home]# ls
config.xml                     jenkins.CLI.xml                              jobs              nodeMonitors.xml  queue.xml.bak             secrets
hudson.model.UpdateCenter.xml  jenkins.install.InstallUtil.lastExecVersion  jobs20181126.zip  nodes             secret.key                userContent
identity.key.enc               jenkins.install.UpgradeWizard.state          logs              plugins           secret.key.not-so-secret  users

jenkins工作目录配置完毕了,却遇到了新的问题:
配置了三个项目A,B,C;配置好后在谷歌浏览器下访问各个项目。按照上述的配置规则,访问url为:http://ip:port/jenkins/。由于都在同一服务器上,所以ip是一样的,所不同的是port
这引起了一个小麻烦。当你访问A项目时,刷新已登陆的B/C项目时,会发现B/C项目会退出登录。第一反应是配置项等可能有冲突,抱着试试看的想法,A项目用谷歌浏览器打开,B项目用火狐浏览器打开,发现功能正常,并不会出现两个不能同时在线状态的情况。
于是乎,想到了可能是浏览器保存的COOKIE等冲突了。通过观察发现,在同一浏览器访问不同项目时,cookie中的JSESSIONID的值会变化。
jessionid
看了下各个值,觉得浏览器可能根据Domain+Path这两个字段来区分。同一台服务器下,Domain不可变化,只能更改Path。经测试,更改Path后,以上问题得到解决。
更改Path操作如下:
1、进入项目目录,关闭服务;
2、修改进入webapp目录下
3、若存在jenkins.war包,则删除该war包,或者更改后缀名(例如:jenkins.bak)
4、修改jenkins目录名为 jenkins_xx
5、启动服务
6、由于项目名称由原来的jenkins更名为 jenkins_xx,所以浏览器访问地址也需更改:http://ip:port/jenkins_xx/

注:如果一开始就知道这个cookieJSESSIONID会冲突的问题,可以在jenkins.war包未解压时,更名为jenkins_xx.war也能达到相同的效果。

Jenkins节点的工作目录Jenkins配置页面中的节点工作目录不一致可能是由于以下原因之一: 1. 配置不一致:请确保您在Jenkins配置页面中正确设置了节点的工作目录。在Jenkins主页,点击"节点"(Nodes)链接,找到对应节点并点击节点名称进入配置页面。在配置页面中,找到"Remote root directory"(远程根目录)或类似的选项,并确保设置的路径与您期望的工作目录路径一致。 2. 节点重启或重新连接:如果您在更改节点的工作目录后,节点已经重启或重新连接到Jenkins主服务器,那么配置页面上显示的工作目录可能会与实际工作目录不一致。这是因为Jenkins会在节点重新连接时使用先前保存的配置信息。您可以尝试通过在节点配置页面中重新保存配置来解决此问题。 3. 节点权限问题:请确保Jenkins主服务器对节点的工作目录具有适当的权限。如果节点工作目录位于其他机器上的共享文件系统上,确保Jenkins用户具有访问该文件系统的权限。 4. 多个节点配置问题:如果您有多个节点,并且发现它们的工作目录不一致,可能是由于每个节点都有自己的独立配置。请检查每个节点的配置页面,确保它们的工作目录设置正确。 如果以上解决方法无法解决问题,请提供更多的详细信息,例如节点工作目录的实际路径,Jenkins版本以及任何相关的错误日志信息,以便更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值