2016-07-15 18 views
2

Ich bin ein Neuling für Jenkins. Ich möchte Jenkins dazu bringen, meine Bestien zu überwachen. Ich bin nach dem offiziellen Tutorial: https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+external+jobsJenkins External-Monitor-Job-Setup

Jenkins auf AWS Ubuntu läuft 14. Die Installation war in Ordnung und ich kann Jenkins Zugriff auf 9091. http://www.example.com:9091/

externen Monitor Job Plugin wurde standardmäßig installiert. Es kann im Plugin Manager gefunden werden.

Was ich bisher gemacht habe. In Jenkins habe ich einen neuen externen Job namens "backup" erstellt. http://www.example.com:9091/job/backup/ und im Grunde ist das alles da.

In meiner cron-Datei: "/ var/spool/cron/crontabs/root":

[email protected] 
JENKINS_HOME=http://www.example.com:9091 
* * * * *  export JENKINS_HOME=$JENKINS_HOME; java -jar /usr/share/jenkins/jenkins-core-2.7.1.jar "backup" backup.sh 2>&1 > /dev/null 

Aufgrund der mailto Einstellungen anfangs war ich no jenkins-core-*.jar found error erhalten. Ich fing an, nach jenkins-core-*.jar zu suchen, aber ich fand keinen. In meinem Ordner "/ usr/share/jenkins" war nur die Datei jenkins.war. Ich entpackte die WAR-Datei und kopiert die folgenden Dateien in die jeweiligen Ordner:

jenkins-core-*.jar 
remoting-*.jar 
ant-1.7.0.jar 
commons-io-1.4jar 
commons-lang-2.4.jar 
jna-posix-*.jar 
xstream-*.jar 

Nachdem ich das tat begann ich kompliziertere Fehler zu erhalten:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:803) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
     at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     at hudson.Main.<clinit>(Main.java:222) 
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     ... 13 more 

Wie erwartet wird der Feststellung auf der Jenkins Seite . Offensichtlich vermisse ich etwas. Ich versuchte, Zitate um "backup" zu entfernen und den Befehl backup.sh 2>&1 > /dev/null mit etwas zu ändern, das sicher bin, arbeitet. Zum Beispiel: cd /my/directory && program myfile.file aber das ist alles. Ich frage mich, ob ich irgendwo die ganze WAR-Datei entpacken muss oder ob ich anderen Pfad folgen muss? Ich bin mir nicht sicher, was der Fehler bedeutet. Ich habe einen Vorschlag gefunden, dass es mit Tomcat zu tun hat. Bitte für etwas Hilfe mit diesem.

+0

Haben Sie jemals herausgefunden, was dieses Problem ist? – pca2

Antwort

0

Welche Java und Jenkins Version verwenden Sie?

Ich hatte meine jenkins konfiguriert und ohne Probleme richtig funktioniert aber nach einem Upgrade begann ich

Meine Umgebung den gleichen Fehler zu haben ist:

  • Debian 8
  • jenkins 2.13
  • Java 1.7.0_101 (IcedTea)
+0

Ich verwende mehr oder weniger die gleiche Konfiguration und auch nach einem Upgrade um 2016-05-11 begann es zu scheitern. Haben Sie eine dauerhafte Lösung oder Workaorund gefunden? – user2767735