[英]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
在生產環境中不是一個好方法,但從開發角度來看,它看起來還不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.