2016-09-30 151 views
10

将我的macOS升级到Sierra后,当我使用launchctl加载启动Jenkins时,我无法连接到localhost:8080。如果我再次调用launchctl加载,则会看到响应“服务已加载”。没有日志文件在默认位置/ var/log/jenkins /(如在jenkins-ci.plist中设置)。我也尝试在那里创建jenkins.log,并将其编辑为jenkins用户,但仍然没有印刷在那里。Jenkins在macOS上不启动10.12(Sierra)

如果我尝试使用java -jar jenkins.war启动Jenkins,我可以连接到localhost,但Jenkins作为新安装运行。

我已安装最新的JRE 1.8.0_102。

如何诊断问题?

回答

25

似乎Sierra更改了Jenkis文件夹的权限。所以最好的解决办法是:
1.添加执行权限org.jenkins-ci.plist:
sudo chmod +x /Library/LaunchDaemons/org.jenkins-ci.plist
2.设置詹金斯例如/ var所有者/日志/詹金斯:
sudo chown jenkins /var/log/jenkins
3.启动詹金斯:
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

+1

不错的一个。谢谢。一件小事就是你不需要为每个人执行。允许所有者就足够了。所以chmod u + x会做到这一点。 – Mig82

+0

不错,这有帮助。显然詹金斯只是处于“部分运行”状态,所以我首先需要在执行步骤3之前按照“卸载”(与步骤3相同,但是“卸载”而不是“加载”)停止Jenkins。 – kalmiya

+0

詹金斯没有拥有日志目录修复它。 –

3

正如我在问题中提到的,我安装了JRE。在我安装JDK之后,Jenkins能够正常启动。

+0

我可以证实,这个解决我的问题。 –

9

我有同样的问题,安装JDK并没有作出伎俩

但是改变日志目录的权限(在我的情况的/ var /日志/詹金斯)并重新启动詹金斯工作。

似乎搬到塞拉利昂改变了这个文件夹的权利。

+2

我有同样的问题,@Werdeil是正确的。 Sierra更改了Jenkins日志目录(/ var/log/jenkins)的权限,并阻止Jenkins重新启动守护进程。因此,我将/ var/log/jenkins的权限修改为组可写和组可执行文件,然后重新启动Jenkins。它正在工作。感谢这个答案 - 它帮了我很多。很高兴我们都在寻找对方。干杯。 –

+0

为我工作,谢谢。 – chandil03

1

我有同样的问题。

我手动启用读+写

/Users/Shared/Jenkins 

文件夹的访问。

2

当我升级到Sierra时发生了这种情况,我设法用@ mac.slusarek的答案解决了这个问题。但最近又发生了。这次我允许对操作系统进行小小的更新,我也一直在玩SDK Man来切换JDK。不知道哪一个打破了我的詹金斯,但这次它不是一个权限问题。

我从日志中注意到詹金斯试图在Java 9-ea, which is apparently not supported yet上运行。我已经使用Jenkins installer for Mac安装詹金斯,所以试图卸载:

​​

,并重新安装,但问题并没有消失。

然后我发现this article建议使用Homebrew来安装它。这是跑步一样容易:

$brew install jenkins 

因为我只能运行在本地的发展我并不需要启动它作为一个守护进程,所以现在我只需键入

$jenkins 

问题运行解决了。我希望这可以帮助别人。

1

当我从Sierra升级到Sierra时,同样的事情发生在我身上。我按照mac.slusarek上面列出的说明操作,但是jenkins ID不再存在于我的电脑上。我以标准用户身份创建了jenkins id。 另外,/ Users/Shared/Jenkins下的文件不再由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 
+0

当我升级到高山脉时,我也失去了我的詹金斯用户。我问了关于这个问题的另一个问题:https://stackoverflow.com/questions/47079065/jenkins-user-is-gone-after-macos-update/ –