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, поэтому не уверен, почему установка была повреждена.