Launchd没有在OS X Yosemite上启动Jenkins服务器

Launchd没有在OS X Yosemite上启动Jenkins服务器,jenkins,osx-yosemite,Jenkins,Osx Yosemite,在OS X 10.9下,Jenkins CI由launchd自动启动。更新到10.10后,将不再启动 Jenkins是使用Jenkins-ci.org上的OS X安装程序安装的。我运行的是v1.584。这个问题出现后,我用v1.585重新安装,但没有用 org.jenkins-ci.plist中指定的日志文件中没有输出。Syslog有几条消息表明org.jenkins-ci服务“无法初始化:14A389:xpcproxy+14045[1344][1016C726-9ACF-3A24-9C51-A

在OS X 10.9下,Jenkins CI由launchd自动启动。更新到10.10后,将不再启动

Jenkins是使用Jenkins-ci.org上的OS X安装程序安装的。我运行的是v1.584。这个问题出现后,我用v1.585重新安装,但没有用

org.jenkins-ci.plist中指定的日志文件中没有输出。Syslog有几条消息表明org.jenkins-ci服务“无法初始化:14A389:xpcproxy+14045[1344][1016C726-9ACF-3A24-9C51-A279F5C6B167]:0xd”

约塞米蒂发生了什么变化,让詹金斯破产了

日志消息末尾的“0xd”是否为错误代码

我尝试通过launchctl手动加载和启动。没有向控制台输出错误,但jenkins仍没有运行


这个问题不是詹金斯独有的。自从更新到10.10:TrendMicro anti-virus之后,我的另一个启动项目也失败了。

以下是我必须采取的步骤:

  • 将执行权限添加到org.jenkins-ci.plist

    sudo chmod+x/Library/LaunchDaemons/org.jenkins-ci.plist

  • 将jenkins设置为/var/log/jenkins的所有者

    sudo chown jenkins/var/log/jenkins

  • 从詹金斯开始

    launchctl start/Library/LaunchDaemons/org.jenkins-ci.plist


  • 以下是明确的答案

  • 确保已安装Java。10.10安装程序,至少在我看来,删除了苹果的Java6。安装的java必须满足
    /usr/bin/java*
    链接。它们指向
    /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands
    。安装Oracle Java时,需要JDK而不是JRE来满足此要求

  • chown-jenkins/var/log/jenkins/jenkins.log

  • 确保
    /var/log/jenkins
    归jenkins所有,任何人都可以搜索(模式755)。它可能已经处于这种状态

  • 编辑文件
    /etc/newsyslog.d/jenkins.conf
    ,更改

    /var/log/jenkins/jenkins.log 644 3*$D0 J

    /var/log/jenkins/jenkins.log jenkins:jenkins 644 3*$D0 J

    这确保了在夜间日志轮换期间创建的新日志文件归jenkins所有。如果不这样做,则需要每天重复步骤2

  • @kjones answer的第4步可能没有必要,因为
    launchd
    尝试每10秒启动一次jenkins

    我发布的日志消息末尾的“0xd”确实是错误代码:权限被拒绝


    launchd
    中发生了什么变化
    /var/log/jenkins/jenkins.log
    被指定为
    org.jenkins ci.plist
    中的
    标准{Error,Out}路径。我的理论是,在Yosemite启动之前,在将进程所有者更改为“jenkins”并运行jenkins-runner.sh之前,先打开文件并设置STDOUT&STDERR。在Yosemite中,launchd似乎在更改进程所有权之后才打开文件,因此当文件由root所有时,“权限被拒绝”。

    可能不再需要。我从下载了jenkins-1.588,选择了MacOSX本机软件包,运行了安装程序,请参阅应用程序/jenkins中的,然后运行。我正在运行10.10(14A389)

    这解决了我这边的问题:

    1) 已从获取java 8的最新java更新

    2)
    sudo chown jenkins/var/log/jenkins/jenkins.log


    3)
    sudo launchctl load/Library/LaunchDaemons/org.jenkins ci.plist

    我应该注意,在这个问题出现之前,还有一个问题必须解决。10.10的安装删除了旧的Apple JDK6,并使/usr/bin/java*链接悬而未决。这些链接在从命令行运行Java时使用,正如jenkins-runner.sh所做的那样。要解决此问题,必须从Su^H^HOracle安装JDK。它必须是JDK,因为JRE不安装在/usr/bin中链接指向的位置。不建议更改链接,因为它们是作为OS X的一部分安装的。感谢您的提示,让我找到了正确的方向。由于评论编辑的限制,我将发布另一个答案,并提供完整的详细信息。看起来我只能通过步骤1和步骤3(然后再次登录)。(是否真的需要步骤1?我不知道…)不确定是否需要步骤1。如果您安装了另一个版本的java,则可能不需要它。不需要步骤2,而且实际上不需要+x一些无法执行的内容。是-不需要步骤2。老实说,我只是尝试让jenkins启动,LauchDaemons目录(com.oracle.java.Helper Tool.plist)中另一个.plist上的属性被标记为可执行。我将编辑我的回复。结合2和3的一半,
    sudo chown-R jenkins:jenkins/var/log/jenkins/
    为我工作(在找到此线程之前)。此外,这在问题跟踪中作为报告/跟踪(其中的注释是我如何发现的)。
    sudo chmod 755/var/log/jenkins
    完成了这项工作。谢谢对于“持久性”部分,我真的避免了每天更换所有者;-)在完成所有这些之后,我仍然有一个错误,因为jenkins没有写入/Users/Shared/jenkins/tmp的权限。在该目录上执行步骤2解决了最后一个问题,10秒后jenkins加载!我鼓励任何在遵循指南后仍有问题的人查看jenkins日志中的线索。您是否在某处找到了
    0x-
    错误代码列表,或者您是如何发现“权限被拒绝”的?嗯。。。詹金斯问题追踪器中的匹配仍在进行中。您以前是否应用过此处列出的修复程序,或者这是一个新的jenkins安装?我正在运行与您相同的Yosemite版本。新Jenkins安装。是的。新安装将一直工作,直到
    newsyslog
    旋转日志文件。这是因为