msc*_*msc 28 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-A279F5C6B167]:0xd".
在优胜美地打破了詹金斯的变化是什么?
日志消息末尾的"0xd"是错误代码吗?
我尝试通过launchctl手动加载和启动.没有错误输出到控制台,但jenkins仍未运行.
这个问题并不是詹金斯独有的.我有另一个启动项目,自更新到10.10以来也失败:TrendMicro反病毒.
msc*_*msc 49
这是最终的答案.
确保已安装Java.至少在我的情况下,10.10安装程序删除了Apple的Java 6.安装的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由詹金斯拥有并可由任何人搜索(模式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答案的第4步可能是不必要的,因为launchd尝试每10秒启动一次jenkins.
我发布的日志消息末尾的'0xd'确实是错误代码:Permission Denied.
改变了launchd什么?/var/log/jenkins/jenkins.log被指定为Standard{Error,Out}Pathin org.jenkins-ci.plist.我的理论是,在Yosemite launchd之前打开文件并设置STDOUT&STDERR,然后将进程所有者更改为"jenkins"并运行jenkins-runner.sh.在Yosemite中,似乎launchd在更改进程所有权之前不会打开文件,因此当文件归root所有时"权限被拒绝".
kjo*_*nes 17
以下是我必须采取的步骤:
向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
| 归档时间: |
|
| 查看次数: |
23959 次 |
| 最近记录: |