2016-09-30 17 views
10

Nach der Aktualisierung meines MacOS auf Sierra, wenn ich Jenkins starte mit launchctl load kann ich keine Verbindung zu localhost: 8080 herstellen. Wenn ich launchctl load erneut aufruft, sehe ich die Antwort "Dienst bereits geladen". Es gibt keine Protokolldatei am Standardspeicherort/var/log/jenkins/(wie in jenkins-ci.plist festgelegt). Ich habe auch versucht, jenkins.log dort zu erstellen und chown zu jenkins user, aber noch nichts ist dort gedruckt.Jenkins startet nicht auf macOS 10.12 (Sierra)

Wenn ich versuche, Jenkins mit java -jar jenkins.war zu starten, kann ich eine Verbindung zu localhost herstellen, aber Jenkins wird als neue Installation ausgeführt.

Ich habe die neueste JRE 1.8.0_102 installiert.

Wie das Problem zu diagnostizieren?

Antwort

25

Scheint, dass Sierra die Erlaubnis von Jenkis-Ordner änderte. So ist die beste Lösung ist:
1. Fügen Sie Ausführungsberechtigungen für org.jenkins-ci.plist:
sudo chmod +x /Library/LaunchDaemons/org.jenkins-ci.plist
2. Set jenkins als Eigentümer von/var/log/jenkins:
sudo chown jenkins /var/log/jenkins
3. Starten Jenkins:
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

+1

Nizza. Vielen Dank. Eine kleine Sache ist, dass Sie die Ausführung nicht für alle zulassen müssen. Mit der Erlaubnis für den Besitzer ist es ausreichend. Also wird chmod u + x den Trick machen. – Mig82

+0

schön, das hat geholfen. Nur eine kleine Sache war anscheinend Jenkins war in einem "teilweise laufenden" Zustand, also musste ich zuerst Jenkins mit 'Entladen' stoppen (identisch mit Schritt 3, aber mit 'Entladen' anstatt 'Laden), bevor Schritt 3 wie beschrieben ausgeführt wurde. – kalmiya

+0

Jenkins besitz nicht das Log-Verzeichnis behoben. –

3

Wie ich in der Frage erwähnte, hatte ich JRE installiert. Nachdem ich JDK installiert habe, kann Jenkins normal starten.

+0

Ich kann bestätigen, dass dieses Problem gelöst mein Problem. –

9

hatte ich das gleiche Problem, nicht der Trick

jedoch gemacht hat das JDK Installation, die Rechte des Log-Verzeichnis zu wechseln (in meinem Fall/var/log/jenkins) und Neustarten Jenkins gearbeitet.

Scheint, dass der Umzug nach Sierra die Rechte für diesen Ordner geändert hat.

+2

Ich hatte das gleiche Problem, und @Werdeil ist richtig. Sierra änderte die Berechtigungen des Jenkins-Log-Verzeichnisses (/ var/log/jenkins) und verhinderte, dass Jenkins den Daemon neu startete. Also änderte ich die Berechtigungen von/var/log/jenkins so, dass sie schreibbar und ausführbar waren, und startete dann Jenkins neu. Es funktioniert jetzt. Danke für diese Antwort - es hat mir sehr geholfen. Froh, dass wir alle aufeinander aufpassen. Prost. –

+0

arbeite für mich, danke. – chandil03

1

Ich hatte das gleiche Problem.

I aktiviert manuell die Lese + Zugriff auf den Ordner

/Users/Shared/Jenkins 

schreiben.

2

Das passierte mir, als ich nach Sierra umstieg und es schaffte, es mit der Antwort von @ mac.slusarek zu lösen. Aber es ist kürzlich wieder passiert. Dieses Mal hatte ich ein kleines Update des Betriebssystems erlaubt und ich spielte auch mit SDK Man herum, um JDKs zu wechseln. Ich bin mir nicht sicher, welches mein Jenkins zerbrochen hat, aber dieses Mal war es kein Problem mit der Erlaubnis.

Ich bemerkte von den Protokollen Jenkins versuchte, auf Java 9-ea, which is apparently not supported yet zu laufen. Ich hatte Jenkins mit der Jenkins installer for Mac installiert, so versucht die Deinstallation:

/Library/Application\ Support/Jenkins/Uninstall.command 

und wieder zu installieren, aber das Problem nicht gehen weg.

Dann fand ich this article vorgeschlagen, stattdessen installieren Sie es mit Homebrew.Es war so einfach wie Laufen:

$brew install jenkins 

Da ich es nur lokal ausgeführt werden für die Entwicklung muss ich es nicht, es als Daemon zu starten, so dass ich jetzt laufen nur durch

$jenkins 

Problem eingeben gelöst. Ich hoffe, das hilft anderen.

1

Das gleiche passierte mir, als ich von Sierra auf High Sierra umstieg. Ich folgte den oben beschriebenen Anweisungen von mac.slusarek, aber die jenkins ID existierte auf meinem Computer nicht mehr. Ich habe die jenkins id als Standardbenutzer erstellt. Auch die Dateien unter/Users/Shared/Jenkins waren nicht mehr im Besitz von Jenkins. Nachdem ich Katze aus dem Fehlerprotokoll mit dem Befehl:

sudo cat /var/log/jenkins/jenkins.log 

Nach den Fehler zu sehen:

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 

fixierte ich das Eigentum mit dem Befehl:

sudo chown -R jenkins /Users/Shared/Jenkins 
+0

Ich habe auch meinen Benutzer verloren, als ich auf High Sierra umstieg. Ich habe eine andere Frage zu diesem Thema gestellt: https://stackoverflow.com/questions/47079065/jenkins-user-is-gone-after-macos-update/ –