Мы не можем получить доступ к Дженкинсу из любого места
Мы только что установили Jenkins на наш сервер (Debian 7 wheezy). Он работает в локальной сети, но не во внешней сети. Мы ищем, но мы не нашли обходного пути для этой проблемы.
Мы можем пропинговать наш сервер, но когда мы идем по адресу для Дженкинса, он не работает.
2 ответа
Вероятно, по следующим причинам:
1) Конфигурация вашего веб-сервера
Для apache: разрешить от всех
Для кота:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
должно быть
<Host name="www.example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
2) Настройки брандмауэра (открыть порт для внешнего подключения)
3) Дженкинс Конфиг
Во-первых, для Debien измените /etc/default/jenkins, добавьте строку HTTP_HOST = внешний адрес (например, HTTP_HOST = www.example.com)
Затем добавьте --httpListenAddress=$HTTP_HOST в свой JENKINS_ARGS (JENKINS_ARGS="- webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=) HTTP_
Наконец, перезапустите свои Дженкинс
a) Откройте оболочку Bash (Git Bash в Windows подойдет) на вашем домашнем компьютере (не на компьютере Jenkins).
б) Выполните PORT FORWARD через SECURE SSH TUNNEL, чтобы "сопоставить" порт 8080 на компьютере Jenkins с портом 8080 на вашем домашнем компьютере. Команда для этого в оболочке Git Bash:
ssh -L 127.0.0.1:8080:localhost:8080 YourAdminName@xx.yyy.zzz.ab -i "C: \ PathToFolderContainedMySecretKey"
Здесь xx.yyy.zzz.ab - ваш общедоступный интернет-адрес (например, 62.187.151.9). Обратите внимание, что путь после -i - это путь на вашем компьютере, где вы сохранили закрытый ключ, который совпадает с открытым ключом, который вы использовали на компьютере Jenkins.
в) А теперь к вашему домашнему компьютеру можно подключиться так: http://localhost:8080/
d) При первой настройке Jenkins вам понадобится начальный пароль администратора. Вот как это получить. В оболочке Git Bash на домашнем компьютере (помните, что вы уже подключились через SSH к компьютеру Jenkins):
кот sudo /var/lib/jenkins/ секреты /initialAdminPassword
Скопируйте и вставьте его в свой браузер, и все готово!