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アンチウイルス。
これが決定的な答えです。
Javaがインストールされていることを確認してください。少なくとも私の場合、10.10インストーラーはAppleのJava 6を削除しました。インストールされたJavaは/usr/bin/Java*
リンクを満たす必要があります。これらは/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands
を指します。 Oracle Javaをインストールする場合、この要件を満たすためにJREではなくJDKが必要です。
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を繰り返す必要があります。
launchd
は10秒ごとにジェンキンを起動しようとするため、@ kjonesの回答のステップ4はおそらく不要です。
投稿したログメッセージの最後の「0xd」は、実際にはエラーコードです:Permission Denied。
launchd
の変更点/var/log/jenkins/jenkins.log
は、Standard{Error,Out}Path
のorg.jenkins-ci.plist
として指定されます。私の理論では、Yosemiteがlaunchdの前にファイルを開き、STDOUTとSTDERRを設定してから、プロセスの所有者を「jenkins」に変更し、jenkins-runner.shを実行します。 Yosemiteでは、launchdはプロセスの所有権を変更するまでファイルを開かないようです。そのため、ファイルがルートによって所有されている場合は「許可が拒否されました」。
ここに私が取らなければならなかったステップがあります:
Org.jenkins-ci.plistに実行権限を追加します
Sudo chmod + x /ライブラリ/LaunchDaemons/org.jenkins-ci.plist
Jenkinsを/ var/log/jenkinsの所有者として設定します
Sudo chown jenkins/var/log/jenkins
ジェンキンスを開始
launchctl start /Library/LaunchDaemons/org.jenkins-ci.plist
これは私の終わりに問題を修正しました:
1)最新のJava Java 8の更新を https://www.Java.com/en/download/help/mac_10_10から取得しました.xml
2)Sudo chown jenkins /var/log/jenkins/jenkins.log
3)Sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist