web-dev-qa-db-ja.com

JenkinsにTomcatの使用を開始させることができません

JenkinswarをTomcatにデプロイしようとして問題が発生しました。私はCentOSをJava 1.6.0_28、Tomcat 6.0.24、および2014年1月21日現在のjenkinsの最後のバージョンで使用しています。

ログがあるため、問題はJenkinsに関連していると思いますが、確かではありません。私がグーグルすると、エラーは例外を発生させるクラスだけを見つけますが、解決策はありません。これがログです。どんな助けでも大歓迎です。

Jan 21, 2014 9:30:26 PM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.NoHomeDir
    at hudson.WebAppMain.contextInitialized(WebAppMain.Java:126)
    at org.Apache.catalina.core.StandardContext.listenerStart(StandardContext.Java:3972)
    at org.Apache.catalina.core.StandardContext.start(StandardContext.Java:4467)
    at org.Apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.Java:791)
    at org.Apache.catalina.core.ContainerBase.addChild(ContainerBase.Java:771)
    at org.Apache.catalina.core.StandardHost.addChild(StandardHost.Java:526)
    at org.Apache.catalina.startup.HostConfig.deployWAR(HostConfig.Java:905)
    at org.Apache.catalina.startup.HostConfig.deployWARs(HostConfig.Java:740)
    at org.Apache.catalina.startup.HostConfig.deployApps(HostConfig.Java:500)
    at org.Apache.catalina.startup.HostConfig.start(HostConfig.Java:1277)
    at org.Apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.Java:321)
    at org.Apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.Java:119)
    at org.Apache.catalina.core.ContainerBase.start(ContainerBase.Java:1053)
    at org.Apache.catalina.core.StandardHost.start(StandardHost.Java:722)
    at org.Apache.catalina.core.ContainerBase.start(ContainerBase.Java:1045)
    at org.Apache.catalina.core.StandardEngine.start(StandardEngine.Java:443)
    at org.Apache.catalina.core.StandardService.start(StandardService.Java:516)
    at org.Apache.catalina.core.StandardServer.start(StandardServer.Java:710)
    at org.Apache.catalina.startup.Catalina.start(Catalina.Java:593)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:622)
    at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:289)
    at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:414)
12
Reydel Leon

最後に、私は困難な道をたどらなければなりませんでした。リポジトリからTomcat6パッケージに乗り、手動で再インストールしました。それは問題を解決しました。 Linuxの「公式」パッケージが機能しないときは本当に嫌いです。

とにかくありがとう。

1
Reydel Leon

Jenkinsはデータを保存するために/usr/share/Tomcat7/.jenkinsを作成しようとしますが、ディレクトリが作成されていないため、NoHome例外がスローされます。

これを修正するには、.jenkinsを手動で作成し(Tomcatへの正しいown/grp権限を使用)、Tomcatを再起動します。

14
Ricardo Bin

私はまったく同じ問題に直面していました。私の場合、それはすべてJenkins/Gitエラーで始まりました。

"error: could not lock config file /usr/share/Tomcat6/.gitconfig: Permission denied".

どうやらすべての権限はOKで、.gitconfigはロックされていませんでした。 Tomcatユーザーのchownを実行しましたが、サービスの再起動後、すべてが正常に戻りました。

Sudo chown -R Tomcat6:Tomcat6 /var/lib/Tomcat6/
Sudo chown -R Tomcat6:Tomcat6 /etc/Tomcat6/
Sudo chown -R Tomcat6:Tomcat6 /usr/share/Tomcat6/

(私のLinuxはDebianベースです)

4
Pedro Nunes

Tomcatを実行しているユーザーはわかりませんが、jenkinsがホームディレクトリを作成できないようです。 JENKINS_HOMEパラメーターを調べます。

2
Electrawn

/ var/lib /のようないくつかのディレクトリを調べて、権限が正しく作成されているかどうかを検出してみてください。おそらく、「/ var/lib/jenkins」でのjenkinsホームの作成をブロックするのは「拒否された権限」です。

1
Jad B.

Tomcatを実行しているユーザーを確認します。そして、/ etc/passwdでそのユーザーのホームディレクトリがどれであるかを確認します。ホームフォルダがおそらく欠落しています。フォルダを作成し、実行中のTomcatユーザーに所有権を付与します

0
pdenti