簡體   English   中英

無法讓Jenkins開始使用Tomcat

[英]Can't get Jenkins to start using Tomcat

我在嘗試將Jenkins戰爭部署到Tomcat時遇到了問題。 我正在使用CentOS與Java 1.6.0_28,Tomcat 6.0.24和jenkins的最新版本截至2014年1月21日。

我認為問題與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)

Jenkins嘗試創建/usr/share/tomcat7/.jenkins來存儲其數據,但目錄未創建,因此它會拋出NoHome Exception。

要解決此問題,請手動創建.jenkins(對tomcat具有正確的自己/ grp權限)並重新啟動tomcat。

我面臨着同樣的問題。 在我的情況下,這一切都始於Jenkins / Git錯誤:

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

顯然所有權限都沒問題,並且.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的)

我不確定你運行tomcat的用戶是什么,但看起來jenkins無法創建它的主目錄。 查看JENKINS_HOME參數。

嘗試檢查一些目錄,比如/ var / lib /來檢測權限是否正確,也許這是一個“拒絕權限”阻止在“/ var / lib / jenkins”上創建jenkins home

最后,我不得不經歷艱難的道路。 我從repo乘坐Tomcat6包並手動重新安裝。 它解決了這個問題。 當Linux“官方”軟件包無效時,我真的很討厭。

不管怎么說,還是要謝謝你。

檢查哪個是運行tomcat的用戶。 並在/ etc / passwd中檢查該用戶的主目錄。可能缺少主文件夾。 創建文件夾並為正在運行的tomcat用戶授予所有權

Jenkins配置問題

我試圖在Tomcat服務器中設置Jenkins Web應用程序,它不斷給我這個錯誤:

嚴重:無法初始化Jenkins hudson.util.NoHomeDir

我通過創建文件夾修復如下:

mkdir /usr/share/tomcat7/.jenkins

在重新部署Jenkins時,我再次注意到以下錯誤:

警告:無法記錄引導嘗試java.io.FileNotFoundException:/usr/share/tomcat7/.jenkins/failed-boot-attempts.txt(權限被拒絕)

我通過提供對此文件夾的完全訪問權限來解決此問題。

sudo chmod 777 /usr/share/tomcat7/.jenkins

我相信777在生產環境中不是一個好方法,但從開發角度來看,它看起來還不錯。

致記: http ://www.cyberaka.com/?p = 422

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM