2016-08-03 53 views
3

有兩個tomcat實例。一個用於jenkins(tomcat8-jenkins),另一個用於應用程序(tomcat-mc)。他們在同一臺服務器上。從jenkins調用Tomcat啓動腳本不工作

當我從jenkins執行構建設置中的shell腳本時,似乎jenkins正在嘗試啓動它自己的tomcat實例。以下是腳本和錯誤。

cd $TOMCAT_PATH/bin 
./shutdown.sh 

./startup.sh 

錯誤

+ cd /usr/local/tomcat-mc/bin 
+ ./shutdown.sh 
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:216) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391) 

+ ./startup.sh 
PID file (/usr/local/tomcat8-jenkins/logs/tomcat.pid) found. Is Tomcat still running? Start aborted. 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

我已經試過不安BUILD_ID =和改變CATALINA_HOME = $ TOMCAT_PATH。但是錯誤仍然存​​在。

回答

0

這裏的原因是詹金斯的tomcat已經設置了CATALINA_BASE。重置之後,所需的Tomcat基本問題已解決。希望它可以幫助有需要的人。 在我的情況下,加入這個建在詹金斯的shell腳本會取代詹金斯Tomcat的CATALINA_BASE

出口CATALINA_BASE =在/ usr /本地/ Tomcat的MC