詹金斯网站的根路径

kef*_*ich 28 jenkins

我正在尝试按照这里的指示:https ://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache设置我的Jenkins服务器以显示在http:// myhost/jenkins.它有效,但Jenkins网站认为http:// myhost /是jenkins/root.

我相信这个问题是由该网页上的第一个警告标志引起的,即我的上下文路径设置不正确.但是,我无法弄清楚在哪里设置上下文路径.ubuntu和windows的说明很清楚,但是在Mac OS X 10.6上,没有jenkins.xml文件,没有/ etc/default/jenkins文件,我在〜/ .jenkins/config.xml中看不到相关内容.

那么,我错过了什么?我在哪里可以告诉jenkins它的根在/ jenkins /而不是/?

Tob*_*son 29

从你提到的文件中解释;

您需要指定Jenkins实例的上下文/前缀,这可以通过修改Jenkins配置来完成,如下所示; 或者,通过修改jenkins.xml配置文件并在条目中添加--prefix =/jenkins(或类似)来设置上下文路径.或者在使用时通过将/prefix =/jenkins添加到/ etc/default/jenkins(Ubuntu)中的JENKINS_ARGS或相应的启动文件中来设置上下文路径.

那么,如何找到这些东西......

Jenkins.xml文件应该在$ JENKINS_HOME目录中,我不确定Mac OS是否有"updatedb"和"locate"命令,但你可以试试 updatedb && locate jenkins.xml

另外,看看启动脚本; /etc/init.d如果从包中安装,或者将JENKINS_ARGS添加到运行Jenkins的用户(附加到~user/.profile)的环境属性或运行Jenkins的容器的参数.


请注意,如果您的Jenkins安装(没有prefix参数)在以下位置运行:

http://myserver:8080/ => 200 Jenkins is here
Run Code Online (Sandbox Code Playgroud)

添加 --prefix=/ci/dashboard参数将产生此行为:

http://myserver:8080/ => 404
http://myserver:8080/ci/dashboard => 200 Jenkins is now here
Run Code Online (Sandbox Code Playgroud)

  • 在RedHat中它是`/ etc/sysconfig/jenkins` (3认同)
  • 在Debian中,修改/etc/init.d/jenkins:`JENKINS_ARGS =" - prefix =/jenkins"` (3认同)

sbl*_*lom 11

不确定在config.xml中查找的位置,但在http:// myhost/jenkins/configure中,有一个名为"Jenkins URL"的选项可用于设置它.

  • 我试图改变这个URL是`/詹金斯/`,`詹金斯/`和`HTTP://为myhost /詹金斯/`,并没有这三个打交道.从该项目的帮助:`可选择指定Jenkins安装的HTTP地址,例如http://yourhost.yourdomain/jenkins/.这个值用于让Jenkins知道如何引用自己,即.显示图像或在电子邮件中创建链接.这是必要的,因为Jenkins无法从内部可靠地检测到这样的URL.但是你的答案是正确的. (7认同)

gia*_*vac 10

为了提供一些最近确认的建议方法,在CentOS 7上,使用Jenkins 1.610,我能够通过将jenkins.model.JenkinsLocationConfiguration.xml中的jenkinsUrl更改为所需的方法来实现这一点(例如http://127.0.0.1: 8080 /詹金斯),补充道

JENKINS_ARGS="--prefix=/jenkins"
Run Code Online (Sandbox Code Playgroud)

/ etc/sysconfig/jenkins中,并重新启动Jenkins.

仅供参考,Jenkins的安装是通过Puppet进行的,使用这个Puppet模块.


Aze*_*zee 9

  1. 将前缀属性添加到/ etc/default/jenkins文件:

    JENKINS_ARGS =" - webroot =/var/cache/jenkins/war --prefix =/jenkins --httpPort = $ HTTP_PORT --ajp13Port = $ AJP_PORT

  2. 配置您的Web服务器(例如 - nginx)以重定向/jenkinslocalhost:8080;


sti*_*sti 6

把它放到/etc/apache2/other/jenkins.conf中:

ProxyPass         /jenkins  http://localhost:8009/jenkins
ProxyPassReverse  /jenkins  http://localhost:8009/jenkins
ProxyRequests     Off
<Proxy http://localhost:8009/jenkins*>
    Order deny,allow
    Allow from 127.0.0.1
</Proxy>
Run Code Online (Sandbox Code Playgroud)

然后执行以下命令:

sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 8009
sudo defaults write /Library/Preferences/org.jenkins-ci prefix /jenkins
sudo launchctl stop org.jenkins-ci
Run Code Online (Sandbox Code Playgroud)

最后一个命令告诉launchd停止正在运行的Jenkins实例.并且会自动启动一个新的,因为launchd已配置为始终保持Jenkins运行.


Eti*_*nne 6

这就是我在运行Jenkin 1.557的Debian Wheezy下修复它的方法

  • 在/ etc/default/jenkins中,通过添加"--prefix = $ PREFIX"修改JENKINS_ARGS行

    JENKINS_ARGS ="..... --prefix = $ PREFIX"