Ответ 1
Не уверен, где искать файл config.xml, но в http://myhost/jenkins/configure есть опция "URL Jenkins", которую вы можете использовать для установки.
Я стараюсь следовать следующим указаниям: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache, чтобы настроить мой сервер Jenkins на http://myhost/jenkins. Он работает, но сайт Дженкинса считает, что http://myhost/ - это jenkins/root.
Я полагаю, что эта проблема вызвана первым предупреждающим флагом на этой веб-странице, то есть мой путь контекста установлен неправильно. Однако я не могу понять, где установить контекстный путь. Инструкции для ubuntu и windows достаточно ясны, но в Mac OS X 10.6 нет файла jenkins.xml, файла /etc/default/jenkins и ничего не актуального, которое я могу видеть в ~/.jenkins/config.xml.
Итак, что мне не хватает? Где я могу сказать jenkins, что его корень находится в/jenkins/вместо/?
Не уверен, где искать файл config.xml, но в http://myhost/jenkins/configure есть опция "URL Jenkins", которую вы можете использовать для установки.
Перефразируя из документа, который вы упомянули,
Вам нужно указать контекст/префикс экземпляра Jenkins, это можно сделать, изменив конфигурацию Jenkins следующим образом: Либо установите путь контекста, изменив файл конфигурации jenkins.xml и добавив к записи --prefix =/jenkins (или аналогичный). Или Задайте путь контекста при использовании, добавив -prefix =/jenkins в JENKINS_ARGS в /etc/default/jenkins (Ubuntu) или в соответствующий файл автозагрузки.
Итак, как найти эти вещи...
Файл 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
добавление --prefix=/ci/dashboard
в аргументы приведет к такому поведению:
http://myserver:8080/ => 404
http://myserver:8080/ci/dashboard => 200 Jenkins is now here
Добавить атрибут prefix в файл /etc/default/jenkins:
JENKINS_ARGS = "- webroot =/var/cache/jenkins/war - prefix =/jenkins --httpPort = $HTTP_PORT --ajp13Port = $AJP_PORT
Настройте свой веб-сервер (например, nginx) для перенаправления /jenkins
на localhost:8080;
Чтобы обеспечить недавнее подтверждение предлагаемых подходов, на CentOS 7, с Jenkins 1.610, я смог достичь этого, изменив jenkinsUrl в jenkins.model.JenkinsLocationConfiguration.xml к желаемому (например, http://127.0.0.1:8080/jenkins), добавив
JENKINS_ARGS="--prefix=/jenkins"
внутри /etc/sysconfig/jenkins и перезапустить Jenkins.
FYI установка Jenkins была сделана через Puppet, используя этот кукольный модуль.
Поместите это в /etc/apache 2/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>
Затем выполните следующие команды:
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
Последняя команда сообщает launchd, чтобы остановить исполняемый экземпляр Jenkins. И новый будет автоматически запущен, потому что запуск был настроен так, чтобы всегда держать Jenkins в работе.
Вот как я исправил его под Debian Wheezy, запущенным Jenkin 1.557
в/etc/default/jenkins, измените строку JENKINS_ARGS, добавив "--prefix = $PREFIX"
JENKINS_ARGS = "..... --prefix = $PREFIX"
вам нужно отредактировать файл конфигурации jenkins в каталоге такие как: sudo vi/etc/default/jenkins и изменить var HTTP_PORT следующий перезапуск jenkins sudo/etc/init.d/jenkins restart
надеюсь, что это полезно
Я не уверен, что люди все еще ищут это, но, как только я натолкнулся на него, я решил, что разместил здесь свое решение.
Следуя инструкциям в здесь, мне удалось установить контекст, расположенный в Library/Preferences/org.jenkins-ci.plist
, на более предпочтительный адрес. Ссылка имеет все настройки, которые вы можете редактировать с помощью собственной установки OS X.
Я использую CentOS7, добавляю JENKINS_ARGS="--prefix=/jenkins"
в /etc/sysconfig/jenkins
и перезапускаю Jenkins. Затем вы можете посетить ip:8080/jenkins