Jenkins не запускается на macOS 10.12 (Sierra)
После обновления моего macOS до Sierra, когда я запускаю Jenkins с использованием загрузки startctl, я не могу подключиться к localhost: 8080. Если я снова вызову startctl load, я увижу ответ "уже загруженная служба". Нет файла журнала в местоположении по умолчанию/var/log/jenkins/(как указано в jenkins-ci.plist). Я также пытался создать jenkins.log там и chown to jenkins user, но до сих пор там ничего не печатается.
Если я попытаюсь запустить Jenkins с помощью java -jar jenkins.war, я могу подключиться к localhost, но Jenkins запускается как новая установка.
У меня установлена последняя версия JRE 1.8.0_102.
Как диагностировать проблему?
Ответы
Ответ 1
Кажется, Сьерра изменила разрешение папки Jenkis. Поэтому лучшим решением является:
1. Добавьте разрешения на выполнение для org.jenkins-ci.plist:
sudo chmod +x /Library/LaunchDaemons/org.jenkins-ci.plist
2. Установите jenkins в качестве владельца /var/log/jenkins:
sudo chown jenkins /var/log/jenkins
3. Начните Дженкинса:
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
Ответ 2
Это случилось со мной, когда я обновился до Sierra, и мне удалось решить это с ответом от @mac.slusarek. Но это повторилось недавно. На этот раз я позволил небольшое обновление ОС, а также играл с SDK Man, чтобы переключать JDK. Не уверен, какой из них сломал мой Дженкинс, но на этот раз это не было проблемой с разрешениями.
Из журналов я заметил, что Дженкинс пытался запустить на Java 9-ea, которая, видимо, еще не поддерживается. Я установил Jenkins с помощью установщика Jenkins для Mac, поэтому попытался удалить:
/Library/Application\ Support/Jenkins/Uninstall.command
и установка снова, но проблема не исчезла.
Затем я обнаружил, что эта статья предлагает вместо этого установить ее с помощью Homebrew. Это было так же легко, как бежать:
$brew install jenkins
Поскольку я запускаю его только локально для разработки, мне не нужно запускать его как демон, поэтому теперь я просто запускаю его, набирая
$jenkins
Проблема решена. Я надеюсь, что это помогает другим.
Ответ 3
У меня была такая же проблема, установка JDK не сделала трюк
Однако изменение прав каталога журнала (в моем случае /var/log/jenkins ) и перезагрузка Jenkins работали.
Кажется, что перемещение в Сьерра изменило права в этой папке.
Ответ 4
Я исправил это, установив соответствующую переменную JAVA_HOME
. То, как я диагностировал это, было посмотреть на ошибки, которые были выданы, когда Дженкинс пытался бежать:
tail -f /var/log/jenkins/jenkins.log
Затем я попытался запустить его:
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Если он говорит, что он уже загружен, сначала выгрузите его:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Затем запустите:
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Ошибка, которую я увидел, заключалась в том, что Дженкинсу требовалась Java 8, а не Java 10. Поэтому я выгружен:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
а затем установил Java 8. Затем я отредактировал файл plist
:
sudo nano /Library/LaunchDaemons/org.jenkins-ci.plist
и добавил соответствующую переменную среды JAVA_HOME
:
<dict>
<key>JENKINS_HOME</key>
<string>/Users/Shared/Jenkins/Home</string>
<key>JAVA_HOME</key>
<string>/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home</string>
</dict>
Наконец, я снова попробовал команду launchctl
:
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
и вуаля!
Ответ 5
Как я уже упоминал в вопросе, я установил JRE. После того, как я установил JDK, Jenkins может начать нормально.
Ответ 6
У меня была та же проблема.
Я вручную включил доступ для чтения + записи к
/Users/Shared/Jenkins
Папка.
Ответ 7
То же самое случилось со мной, когда я перебрался из Сьерры в Высокую Сьерра. Я выполнил инструкции, описанные выше, mac.slusarek, однако идентификатор jenkins больше не существовал на моем компьютере. Я создал идентификатор jenkins в качестве стандартного пользователя.
Кроме того, файлы под заголовками /Users/Shared/Jenkins больше не принадлежали дженкинсам. После того, как я выхожу из журнала ошибок с помощью команды:
sudo cat /var/log/jenkins/jenkins.log
После просмотра ошибки:
Exception in thread "main" java.io.IOException: Jenkins has failed to create a
temporary file in /Users/Shared/Jenkins/tmp
at Main.extractFromJar(Main.java:368)
at Main._main(Main.java:210)
at Main.main(Main.java:112)
Caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(File.java:2024)
at Main.extractFromJar(Main.java:365)
... 2 more
Я установил право собственности с помощью команды:
sudo chown -R jenkins /Users/Shared/Jenkins
Ответ 8
Я столкнулся с проблемой при загрузке команды jenkins-cli.plist в мои MacOs (версия Mojave).
Версия для Mac: Mojave 10.14.6
Дженкинс Версия: 2.190.1
Я установил Дженкинс, используя файл .pkg.
Ссылочная ссылка: https://java2blog.com/install-jenkins-mac-os-x/
При выполнении приведенной ниже команды
sudo launchctl load/Library/LaunchDaemons/org.jenkins-ci.plist
Я столкнулся с ошибкой, говоря "уже загружен".
Решение:
Шаг 1. Проверьте журналы jenkins на точную ошибку.
хвост -f/var/log/jenkins/jenkins.log
(В моем случае это была проблема привязки порта, порт 8080 уже использовался другим приложением)
Шаг 2. Поэтому я решил запустить jenkins на другом порту (скажем, 7070). Это можно сделать с помощью приведенных ниже команд.
по умолчанию sudo напишите /Library/Preferences/org.jenkins-ci.plist httpPort 7070
sudo launchctl unload/Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load/Library/LaunchDaemons/org.jenkins-ci.plist
Шаг 3. Попробуйте получить доступ к нему в браузере, http://localhost:7070. Он должен работать!!
Ответ 9
В моем случае установка на Catalina (OSX 10.15) как-то даже не создала файл /var/log/jenkins
. Я должен был
sudo mkdir /var/log/jenkins
а затем взять на себя ответственность, а затем Дженкинс начал нормально. Просто сделал нормальный установщик OSX, поэтому не уверен, почему установка была повреждена.