2016-08-03 24 views
3

Es gibt zwei tomcat-Instanzen. Eine für jenkins (tomcat8-jenkins) und eine für die Anwendung (tomcat-mc). Sie befinden sich auf demselben Server.Tomcat-Startskript funktioniert nicht, wenn es von jenkins aufgerufen wird

Wenn ich das Shell-Skript im Build-Setup von Jenkins ausführe, scheint es, als würde die Jenkins versuchen, ihre eigene Tomcat-Instanz zu starten. Folgendes ist das Skript und der Fehler.

cd $TOMCAT_PATH/bin 
./shutdown.sh 

./startup.sh 

ERROR

+ 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 

Ich habe beunruhigende build_ID versucht = und Ändern CATALINA_HOME = $ TOMCAT_PATH. Aber trotzdem kommt der Fehler.

Antwort

0

Der Grund hier war jenkins tomcat die CATALINA_BASE gesetzt hat. Nach dem Zurücksetzen auf das gewünschte Tomcat-Problem wurde behoben. Ich hoffe, es kann jemandem in Not helfen. In meinem Fall hat dieses Bild Shell-Skript in jenkins zu bauen, die die jenkins tomcat

Export CATALINA_BASE =/usr/local/tomcat-mc

CATALINA_BASE overides