web-dev-qa-db-ja.com

MacでJenkinsを実行できない

JenkinsからMac OS Xネイティブパッケージをダウンロードしました web site をインストールし、ブラウザを http:// localhost:8080 / で開いて、次のテキストのエラーページを取得しました。

Status Code: 404
Exception: Request URL / not found.<br><br>
Stacktrace:
Generated by Winstone Servlet Engine v0.9.10 at Tue Nov 29 12:00:52 CET 2011

jenkins.war/Applications/Jenkinsが見つかり、Java -jar jenkins.warで実行してみました。

$ pwd
/Applications/Jenkins


$ ls
jenkins.war

$ Java -jar jenkins.war
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/29 12:03:12] - Beginning extraction from war file
Jenkins home directory: /Users/zeljko/.jenkins found at: $user.home/.jenkins
[Winstone 2011/11/29 12:03:16] - Winstone shutdown successfully
[Winstone 2011/11/29 12:03:16] - Container startup failed
Java.io.IOException: Failed to start a listener: winstone.HttpListener
    at winstone.Launcher.spawnListener(Launcher.Java:250)
    at winstone.Launcher.<init>(Launcher.Java:202)
    at winstone.Launcher.main(Launcher.Java:398)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at Main._main(Main.Java:268)
    at Main.main(Main.Java:96)
Caused by: Java.io.IOException: Failed to listen on port 8080
    at winstone.HttpListener.getServerSocket(HttpListener.Java:117)
    at winstone.HttpListener.start(HttpListener.Java:70)
    at winstone.Launcher.spawnListener(Launcher.Java:241)
    ... 8 more
Caused by: Java.net.BindException: Address already in use
    at Java.net.PlainSocketImpl.socketBind(Native Method)
    at Java.net.PlainSocketImpl.bind(PlainSocketImpl.Java:383)
    at Java.net.ServerSocket.bind(ServerSocket.Java:328)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:194)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:150)
    at winstone.HttpListener.getServerSocket(HttpListener.Java:112)
    ... 10 more

Nov 29, 2011 12:03:16 PM jenkins.model.Jenkins$6 onAttained
INFO: Started initialization
Nov 29, 2011 12:03:16 PM hudson.WebAppMain$2 run
SEVERE: Failed to initialize Jenkins
Java.lang.InterruptedException
    at Java.lang.Object.wait(Native Method)
    at Java.lang.Object.wait(Object.Java:485)
    at org.jvnet.hudson.reactor.Reactor.execute(Reactor.Java:244)
    at jenkins.model.Jenkins.executeReactor(Jenkins.Java:816)
    at jenkins.model.Jenkins.<init>(Jenkins.Java:730)
    at hudson.model.Hudson.<init>(Hudson.Java:81)
    at hudson.model.Hudson.<init>(Hudson.Java:77)
    at hudson.WebAppMain$2.run(WebAppMain.Java:217)

エラーメッセージにAddress already in useと表示されているので、別のポートで実行してみました。

$ Java -jar jenkins.war --httpPort=8081
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/29 12:11:26] - Beginning extraction from war file
Jenkins home directory: /Users/zeljko/.jenkins found at: $user.home/.jenkins
[Winstone 2011/11/29 12:11:27] - HTTP Listener started: port=8081
[Winstone 2011/11/29 12:11:27] - Winstone shutdown successfully
[Winstone 2011/11/29 12:11:27] - Container startup failed
Java.io.IOException: Failed to start a listener: winstone.ajp13.Ajp13Listener
    at winstone.Launcher.spawnListener(Launcher.Java:250)
    at winstone.Launcher.<init>(Launcher.Java:203)
    at winstone.Launcher.main(Launcher.Java:398)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at Main._main(Main.Java:268)
    at Main.main(Main.Java:96)
Caused by: Java.io.IOException: Failed to listen on port 8009
    at winstone.ajp13.Ajp13Listener.start(Ajp13Listener.Java:92)
    at winstone.Launcher.spawnListener(Launcher.Java:241)
    ... 8 more
Caused by: Java.net.BindException: Address already in use
    at Java.net.PlainSocketImpl.socketBind(Native Method)
    at Java.net.PlainSocketImpl.bind(PlainSocketImpl.Java:383)
    at Java.net.ServerSocket.bind(ServerSocket.Java:328)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:194)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:150)
    at winstone.ajp13.Ajp13Listener.start(Ajp13Listener.Java:87)
    ... 9 more

Nov 29, 2011 12:11:27 PM jenkins.model.Jenkins$6 onAttained
INFO: Started initialization
Nov 29, 2011 12:11:27 PM hudson.WebAppMain$2 run
SEVERE: Failed to initialize Jenkins
Java.lang.InterruptedException
    at Java.lang.Object.wait(Native Method)
    at Java.lang.Object.wait(Object.Java:485)
    at org.jvnet.hudson.reactor.Reactor.execute(Reactor.Java:244)
    at jenkins.model.Jenkins.executeReactor(Jenkins.Java:816)
    at jenkins.model.Jenkins.<init>(Jenkins.Java:730)
    at hudson.model.Hudson.<init>(Hudson.Java:81)
    at hudson.model.Hudson.<init>(Hudson.Java:77)
    at hudson.WebAppMain$2.run(WebAppMain.Java:217)

しかし、Address already in useエラーメッセージが表示されます。どのポートを試してもかまいません。

念のため、ファイアウォールを停止しました([システム環境設定]> [セキュリティ]> [ファイアウォール]> [停止])。それは助けにはならなかった。

jenkins.war/Users/zeljko/Jenkinsにコピーし、Java -jar jenkins.warおよびJava -jar jenkins.war --httpPort=8081で実行してみました。同じエラーメッセージ。

私は 最新かつ最高(1.441)jenkins.war をWebサイトからダウンロードし、/Users/zeljko/Jenkinsに移動して、Java -jar jenkins.warおよびJava -jar jenkins.war --httpPort=8081を試しました。同じエラーメッセージ。

環境:

Mac OS X 10.6.8

$ Java -version
Java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

私はジェンキンスを閲覧しています ウェブサイトwiki 、周りを検索していますが、機能させるために必要なことを取得できません。

22
Željko Filipin

この問題はJenkinsのJiraに追加されたようで、うまくいけばすぐに修正されます: https://issues.jenkins-ci.org/browse/JENKINS-11714?page=com.atlassian.jira.plugin .system.issuetabpanels:all-tabpanel

10.7.2のインストールでは、不足しているホームフォルダーを作成し、Jenkinsの所有者を変更することで、これを機能させました。

Jenkinsをインストールした後、次のコマンドを実行します。

Sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Sudo mkdir -p /Users/Shared/Jenkins/Home
Sudo chown -R daemon /Users/Shared/Jenkins
Sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
19
awulf

これで問題が解決しました:

Sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

その後、Java -jar jenkins.war at /Users/zeljko/Jenkins

ソース: https://stackoverflow.com/a/8008901/17469

8
Željko Filipin

ajpは8009をリッスンしようとします。Tomcatを実行しているようです(そのため、8080と8009はすでに使用されています)。 Jenkinsの起動時にajpをオフにします。

皮切りに:

Java -jar jenkins.war --httpPort=8081 --ajp13Port=-1
7
zai

間違いは、Mac OS Xネイティブパッケージのインストールでした。実行してみましたJava -jar jenkins.warをダウンロードしたばかりのマシンでjenkins.war、それは正常に動作します。次に、ネイティブパッケージを実行またはアンインストールする方法を確認します...

0
Željko Filipin

これは主に8080ポートが他のプロセスで使用されていることが原因です(ほとんどの場合、それはTomcat Javaプロセスです)。したがって、最初に次を実行する必要があります:

lsof -i:8080

次に、ポート8080を使用しているプロセスを終了します。

その後、コマンドを再実行してください。

Java -jar jenkins.war --httpPort=8081
0
mainframer