MacOSをSierraにアップグレードした後、launchctl loadを使用してJenkinsを起動すると、localhost:8080に接続できません。 launchctl loadを再度呼び出すと、応答「service already loaded」が表示されます。デフォルトの場所/ var/log/jenkins /(jenkins-ci.plistで設定)にはログファイルはありません。また、jenkins.logを作成してjenkinsユーザーに登録しようとしましたが、まだ何も印刷されません。
Java -jar jenkins.warを使用してJenkinsを起動しようとすると、localhostに接続できますが、Jenkinsは新規インストールとして実行されます。
最新のJRE 1.8.0_102がインストールされています。
問題を診断する方法は?
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。 Jenkinsを起動します。Sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
これはSierraにアップグレードしたときに起こり、@ mac.slusarekからの回答で解決できました。しかし、最近また起こりました。今回は、OSのマイナーアップデートを許可し、JDKを切り替えるために SDK Man をいじくり回していました。どれが私のJenkinsを壊したのかは分かりませんが、今回はアクセス許可の問題ではありませんでした。
Jenkinsが Java 9-ea、まだサポートされていないようです で実行しようとしているログに気付きました。 Jenkins installer for Mac を使用してJenkinsをインストールしたため、アンインストールを試みました。
/Library/Application\ Support/Jenkins/Uninstall.command
再度インストールしましたが、問題は解決しませんでした。
それから この記事 を使用して、代わりに Homebrew を使用してインストールすることを提案しました。実行するのと同じくらい簡単でした:
$brew install jenkins
開発用にローカルで実行するだけなので、デーモンとして起動する必要はないので、今では次のように入力して実行します。
$jenkins
問題が解決しました。これが他の人の役に立つことを願っています。
私は同じ問題を抱えていましたが、JDKをインストールしてもうまくいきませんでした
ただし、ログディレクトリ(私の場合は/ var/log/jenkins)の権限を変更し、Jenkinsを再起動することはできました。
Sierraに移行すると、このフォルダの権限が変更されたようです。
適切なJava_HOME
変数を設定して修正しました。私が診断した方法は、ジェンキンスが実行しようとしたときにスローされたエラーを見ることでした:
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
私が見たエラーは、ジェンキンスが必要でした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
そしてほら!
質問で述べたように、JREをインストールしました。 JDKをインストールした後、Jenkinsは正常に起動できます。
同じ問題がありました。
手動で読み取り/書き込みアクセスを有効にしました
/Users/Shared/Jenkins
フォルダ。
SierraからHigh Sierraにアップグレードしたときに、これと同じことが起こりました。上記のmac.slusarekの手順に従いましたが、コンピューターにジェンキン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
私の場合、カタリナ(OSX 10.15)でのインストールでは、どういうわけか/var/log/jenkins
ファイル。そうしなければならなかった
Sudo mkdir /var/log/jenkins
その後、所有権を取得し、ジェンキンスは正常に開始しました。通常のOSXインストーラーを実行しただけなので、インストールが破損した理由がわかりません。