Я пытаюсь установить Дженкинс на моем веб-сервере, который представляет собой сервер Ubuntu 13.10, работающий на экземпляре Amazon EC2. Я перезапустил Дженкинса, используя
sudo /etc/init.d/jenkins restart
Когда я проверяю свои процессы с помощью
ps aux | grep jenkins
Я вижу несколько запущенных элементов со следующими описаниями:
jenkins 22356 0.0 0.0 20268 400 ? S 10:10 0:00 /usr/bin/daemon --name=jenkins --inherit --env=JENKINS_HOME=/var/lib/jenkins --output=/var/log/jenkins/jenkins.log --pidfile=/var/run/jenkins/jenkins.pid -- /usr/bin/java -jar /usr/share/jenkins/jenkins.war --webroot=/var/run/jenkins/war --httpPort=8080 --ajp13Port=-1 --httpListenAddress=127.0.0.1 --ajp13ListenAddress=127.0.0.1 --preferredClassLoader=java.net.URLClassLoader
jenkins 22358 5.9 5.7 1618372 97376 ? Sl 10:10 0:17 /usr/bin/java -jar /usr/share/jenkins/jenkins.war --webroot=/var/run/jenkins/war --httpPort=8080 --ajp13Port=-1 --httpListenAddress=127.0.0.1 --ajp13ListenAddress=127.0.0.1 --preferredClassLoader=java.net.URLClassLoader
Сервер не хочет разрешать мне доступ к этой установке, поэтому, если я захожу
x.x.x.x:8080
Я просто получаю "Ой! Google Chrome не может подключиться", даже не HTTP-статус 404/500.
Я пытался проверить /var/log/jenkins/jenkins.log, но это не означает никаких проблем. Вот результаты журнала после перезапуска:
Running from: /usr/share/jenkins/jenkins.war
Dec 02, 2013 10:10:07 AM winstone.Logger logInternal
INFO: Beginning extraction from war file
Jenkins home directory: /var/lib/jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
Dec 02, 2013 10:10:13 AM winstone.Logger logInternal
INFO: HTTP Listener started: port=8080
Dec 02, 2013 10:10:13 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Dec 02, 2013 10:10:22 AM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Dec 02, 2013 10:10:23 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Dec 02, 2013 10:10:23 AM hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 43315
Dec 02, 2013 10:10:23 AM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
Я думал, что у меня может быть проблема с группами безопасности EC2, блокирующими порт, но моя группа безопасности, назначенная этому серверу, открыла порт 8080 для входящего HTTP-трафика.
Еще одна проверка, которую я пробовал, заключалась в подключении к серверу по SSH и использовании Lynx, чтобы узнать, действительно ли Jenkins обслуживает контент. я навестил http://localhost:8080
и страница Дженкинса показывалась, как и ожидалось.
Любые идеи?
РЕДАКТИРОВАТЬ 2
Если Jenkins запущен на инстансе Amazon EC2, попробуйте установить HTTP_HOST
к 0.0.0.0
. Возможно, вы не сможете напрямую привязать IP-адрес общедоступного интерфейса.
ИЗМЕНИТЬ 1
Проверьте /etc/default/jenkins
вместо этого, если вы установили прямо из .deb
пакет.
Похоже, Дженкинс прослушивает localhost (--httpListenAddress=127.0.0.1
). В этой конфигурации Jenkins не прослушивает соединения из сетевого интерфейса.
Чтобы решить проблему с Ubuntu, проверьте содержимое /etc/init/jenkins.conf
и добавить --httpListenAddress=x.x.x.x
к JENKINS_ARGS
(где x.x.x.x
- внешний IP-адрес сервера).