Jenkins Slave连接到运行在Apache后面的Jenkins Master

7vux5j2d  于 6个月前  发布在  Apache
关注(0)|答案(1)|浏览(76)

下面是我的设置:
1.在服务器上运行的Jenkins主服务器,假设其域名为jenkins.master.host,即直接访问Jenkins主服务器的URL为http://jenkins.master.host:8080

  1. Apache HTTPD运行在另一台服务器上,假设其域名为jenkins. master. proxy. HTTPD配置为侦听端口80并代理到jenkins主服务器,即通过apache访问jenkins主服务器,使用URL http://jenkins.master.proxy
    1.在“Manage Jenkins”->“Configure System”下,将Jenkins URL配置为apache httpd URL,即http://jenkins.master.proxy
    1.在“Manage Jenkins”->“Configure Global Security”(管理Jenkins->配置全局安全性)下,从服务器被配置为在固定的TCP端口9020上运行。
    1.在“Manage Jenkins”->“Manage Nodes”下,我创建了一个名为“TestSlave”的新节点。
    1.在下载JNLP以启动从机之后,连接到主机的小的从机代理窗口仍然停留在“Connecting to jenkins.master.proxy:9020”上
    JNLP如下所示:
<jnlp codebase="http://jenkins.master.proxy/computer/TestSlave/" spec="1.0+">
    <information>
        <title>Agent for TestSlave</title>
        <vendor>Jenkins project</vendor>
        <homepage href="https://jenkins-ci.org/"/>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <j2se version="1.7+"/>
        <jar href="http://jenkins.master.proxy/jnlpJars/remoting.jar"/>
        <property name="hudson.showWindowsServiceInstallLink" value="true"/>
    </resources>
    <application-desc main-class="hudson.remoting.jnlp.Main">
        <argument>*******************************************</argument>
        <argument>TestSlave</argument>
        <argument>-url</argument>
        <argument>http://jenkins.master.proxy/</argument>
    </application-desc>
</jnlp>

字符串
Apache HTTPD的配置如下:

<VirtualHost *:80>
    ServerName jenkins.master.proxy
    ProxyPass / http://jenkins.master.host:8080/ nocanon Keepalive=On
    ProxyPassReverse / http://jenkins.master.host:8080/
    AllowEncodedSlashes On
    ErrorLog logs/jenkins/error.log
</VirtualHost>


我是否需要在Jenkins master或Apache HTTPD中进行一些配置以使slave连接?Jenkins slave代理的小窗口仍然停留在“Connecting to jenkins.master.proxy:9020(retries:11)"上。也许我需要在Apache HTTPD中添加另一个VirtualHost来侦听端口9020?我尝试过这样做,但没有成功。
有想法将不胜感激。

guicsvcw

guicsvcw1#

看看这篇文章:Jenkins:如何在Nginx反向代理后面配置Jenkins以连接JNLP从站
我通过在jetty配置中将系统属性哈德逊. TcpSlaveAgentName.hostName设置为jenkins.master.host解决了这个问题。

相关问题