2012-02-01 4 views
20

Я стараюсь следовать следующим указаниям: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache, чтобы настроить мой сервер Jenkins на http://myhost/jenkins. Он работает, но сайт Дженкинса считает, что http://myhost/ - это jenkins/root.Jenkins website root path

Я полагаю, что эта проблема вызвана первым предупреждающим значком на этой веб-странице, то есть, что мой путь контекста установлен неправильно. Однако я не могу понять, где установить контекстный путь. Инструкции для ubuntu и windows достаточно ясны, но в Mac OS X 10.6 нет файла jenkins.xml, файла/etc/default/jenkins и ничего не актуального, которое я могу видеть в ~/.jenkins/config.xml ,

Итак, что мне не хватает? Где я могу сказать jenkins, что его корень находится в/jenkins/вместо /?

+0

Мне никогда не удавалось подключить jenkins & apache, вместо этого я просто использовал SSH-туннелирование. – keflavich

+0

Вот решение, работающее в среде Windows. http://stackoverflow.com/a/32521495/5135889 – Vamshi

ответ

8

Не знаете, где искать в config.xml, но в http://myhost/jenkins/configure есть опция «URL Jenkins», которую вы можете использовать для ее установки.

+6

Я попытался изменить этот URL как '/ jenkins /', 'jenkins /' и 'http: // myhost/jenkins /', и никто из трех не работал. Из справки по этому элементу: «Необязательно укажите HTTP-адрес установки Jenkins, например http: //yourhost.yourdomain/jenkins/. Это значение используется, чтобы Дженкинс знал, как обращаться к самому себе, т.е. для отображения изображений или для создания ссылок в электронных письмах. Это необходимо, потому что Дженкинс не может надежно обнаружить такой URL-адрес изнутри самого себя. Однако ваш ответ правильный. – keflavich

24

Перефразируя документ, о котором вы упомянули;

Итак, как найти эти вещи ...

Файл Jenkins.xml должен находиться в директории $ JENKINS_HOME, я не уверен, если Mac OS имеет «updatedb» и «местонахождение «команды, но вы можете попробовать сделать updatedb && locate jenkins.xml

Кроме того, посмотрите в сценариях запуска; /etc/init.d, если они установлены из пакета, или добавьте JENKINS_ARGS к свойствам среды для пользователя, запускающего Jenkins (append to ~user/.profile) или аргументов для контейнера, на котором запущен 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 
+0

Mac OS имеет 'updatedb' и' находится'; 'locate jenkins.xml' ничего не получается. Аналогично, 'find ~/.jenkins/-name" jenkins.xml "' ничего не возвращает. Сценарии запуска на Mac отличаются от linux, поэтому я буду искать их далее. – keflavich

+3

В RedHat это '/ etc/sysconfig/jenkins' – TalkLittle

+1

В Debian изменить /etc/init.d/jenkins: ' JENKINS_ARGS = "- prefix =/jenkins" ' –

5

Поместить это в /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> 

Затем выполните следующие команды:

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 

Последняя команда говорит запуск программ, чтобы остановить запущенный экземпляр Дженкинс. И новый будет автоматически запущен, потому что запуск был настроен так, чтобы всегда держать Jenkins в работе.

+0

Это полезно, но у меня все еще есть несколько проблем : 1. иконки и т. Д. Для Дженкинса до сих пор не загружаются 2.«startctl start error: no такой процесс» в этой последней команде - подразумевает, что у меня нет экземпляра jenkins с запуском с запуском. У меня нет /etc/apache2/other/jenkins.conf, поэтому я помещаю их в httpd.conf. – keflavich

+0

1. Не знаю. Вы должны проверять журналы Apache в/var/log/apache2. – sti

+1

2. Хорошо, я предполагал, что вы используете установщик Jenkins Mac. Если вы этого не сделаете, последние 3 команды выше не для вас. Затем вам просто нужно запустить jenkins с параметрами командной строки --httpPort = 8009 --prefix =/jenkins – sti

3

вам нужно отредактировать Дженкинс конфигурационного файл в каталоге , такие как: Судо VI/и т.д./по умолчанию/Дженкинс и изменение вар http_port следующего перезапуск Дженкинс Судо /etc/init.d/jenkins перезапустить

надежды это полезно

0

Я не уверен, что люди все еще ищут это, но, как только я натолкнулся на него, я решил, что разместил здесь свое решение.

Следуя инструкциям на here, я смог установить контекст, расположенный в , на более предпочтительный адрес. Ссылка имеет все настройки, которые вы можете редактировать с помощью собственной установки OS X.

5

Это, как я установил его под Debian свистящих работает Дженкин 1.557

  • в/и т.д./по умолчанию/Jenkins, измените строку JENKINS_ARGS путем добавления "prefix = $ PREFIX"

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

6
  1. Добавить атрибут префикса/и т.д./файл по умолчанию/Дженкинс:

    JENKINS_ARGS = "- Webroot =/вар/кэш/Jenkins/война prefix =/Дженкинс --httpPort = $ http_port --ajp13Port = $ AJP_PORT

  2. Настройка веб-сервера (например, - Nginx) для перенаправления /jenkins на localhost:8080;

6

Просто предоставить некоторые недавние подтверждения предложенных подходов, на CentOS 7, с Дженкинс 1.610, я смог добиться этого путем изменения jenkinsUrl в jenkins.model .JenkinsLocationConfiguration.xml к желаемому (например http://127.0.0.1:8080/jenkins), добавляя

JENKINS_ARGS="--prefix=/jenkins" 

внутри /и т.д./sysconfig/Jenkins и Реста rting Дженкинс.

FYI Установка Jenkins была изготовлена ​​через Puppet, используя this Puppet module.

0

Я использую CentOS7, добавляю JENKINS_ARGS="--prefix=/jenkins" в /etc/sysconfig/jenkins и перезапускаю работу Дженкинса. Затем вы можете посетить через ip:8080/jenkins