Jenkins没有开始使用macOS 10.12(Sierra)

时间:2016-09-30 15:15:16

标签: jenkins macos-sierra

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

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

我安装了最新的JRE 1.8.0_102。

如何诊断问题?

9 个答案:

答案 0 :(得分:48)

似乎Sierra改变了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

答案 1 :(得分:10)

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

我从日志中注意到Jenkins试图在Java 9-ea, which is apparently not supported yet上运行。我使用Jenkins installer for Mac安装了Jenkins,因此尝试卸载:

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

再次安装,但问题并没有消失。

然后我发现this article建议使用Homebrew安装它。它就像跑步一样简单:

$brew install jenkins

由于我只是在本地运行它以进行开发,所以我不需要将它作为守护进程启动,所以现在我只需输入

来运行它
$jenkins

问题解决了。我希望这有助于其他人。

答案 2 :(得分:9)

我有同样的问题,安装JDK并没有成功

但是,更改日志目录的权限(在我的情况下为/ var / log / jenkins)并重新启动Jenkins有效。

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

答案 3 :(得分:7)

我通过设置适当的JAVA_HOME变量来修复它。我诊断它的方式是查看Jenkins试图运行时抛出的错误:

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

我看到的错误是Jenkins需要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

和voilà!

答案 4 :(得分:5)

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

答案 5 :(得分:3)

我遇到了同样的问题。

我手动启用了对

的读写访问权限
/Users/Shared/Jenkins 

文件夹。

答案 6 :(得分:3)

当我从Sierra升级到High 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

答案 7 :(得分:3)

我在MacOs(Mojave版本)上加载jenkins-cli.plist命令时遇到问题。

Mac版本:Mojave 10.14.6 Jenkins版本:2.190.1

我使用.pkg文件安装了jenkins。

参考链接:https://java2blog.com/install-jenkins-mac-os-x/

在执行以下命令时,

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

我遇到错误,说“已加载”。

解决方案:

步骤1.检查jenkins日志中的确切错误。

tail -f /var/log/jenkins/jenkins.log

(对于我来说,这是端口绑定问题,端口8080已被其他应用程序使用)

第2步,所以我决定在其他端口(例如7070)上启动jenkins。您可以使用以下命令来完成此操作。

sudo默认设置为/Library/Preferences/org.jenkins-ci.plist httpPort 7070

sudo launchctl卸载/Library/LaunchDaemons/org.jenkins-ci.plist sudo launchctl加载/Library/LaunchDaemons/org.jenkins-ci.plist

第3步。尝试在浏览器http://localhost:7070中访问它。应该可以用!

答案 8 :(得分:2)

就我而言,在Catalina(OSX 10.15)上的安装甚至没有创建/var/log/jenkins文件。我不得不

sudo mkdir /var/log/jenkins

然后获得所有权,然后詹金斯(Jenkins)正常开始。普通的OSX安装程序只是做过,所以不确定为什么安装损坏。