Коннектор Jetty/ Winstone в Дженкинс
Я испытываю медленное время загрузки по каналам WAN от JENKINS. Не вдаваясь в подробности проблемы, я хотел бы настроить Jetty, по-видимому, используемый Дженкинсом для добавления следующего соединителя:
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="application-host"/></Set>
<Set name="port"><Property name="application-port"/></Set>
<Set name="forwarded">true</Set>
<Set name="responseBufferSize">16777216</Set>
<Set name="responseHeaderSize">1048576</Set>
</New>
но я не уверен, что это правильное место, чтобы сделать это. Я не могу найти файл jetty.xml в моей установке. Я использую Jenkins на Windows, поэтому я предполагаю, что просто запускаю его, используя java -jar jenkins.war, который должен использовать Jetty / Winstone.
РЕДАКТИРОВАТЬ: Похоже, что это не может быть сделано путем простого изменения конфигурации. По крайней мере, не в контексте SSL: https://github.com/J-cztery/winstone/blob/master/src/java/winstone/HttpsConnectorFactory.java создание жестких кодов ServerContext.
1 ответ
Если вы не используете пользовательский контейнер сервлетов, такой как Tomcat, то Jenkins действительно использует встроенный контейнер "Jetty/Winstone". Чтобы быть более точным: Дженкинс использует обертку вокруг Jetty, которая реализует интерфейс командной строки Winstone (мотивация состояла в том, чтобы переключиться со старого Winstone на Jetty без изменения интерфейса).
Контейнер Jetty можно настроить, добавив параметры непосредственно в командной строке Jenkins (то есть, в вашем случае Windows, добавив их в <arguments>
тег в jenkins.xml
файл.
Доступные варианты (например, --httpPort
или же --sessionTimeout
) задокументированы в репозитории Jenkins Winstone на GitHub.
Если этих параметров недостаточно, возможно, вы сможете дополнительно настроить контейнер, изменив этот раздел в pom.xml
:
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>${port}</port>
</connector>
</connectors>
... или отредактировав web.xml
файл. По крайней мере, последний может быть изменен без изменения war
редактировать распакованный файл $JENKINS_HOME/war/WEB-INF/web.xml
, Я тоже еще не пробовал.