2017-09-12 7 views
-1

Wir haben Jenkins mit ein paar Plugins. Einschließlich des Groovy-Pipeline Plugins. Das Problem ist, dass Jenkins irgendwann nicht läuft und wir bekommen die Meldung:Groovy Pipeline in Jenkins doppelte Klassendefinition für Name: "lib/lib"

Sep 12, 2017 3:33:16 PM hudson.ExpressionFactory2$JexlExpression evaluate 
WARNING: Caught exception evaluating: job.buildHealthReports in /. Reason: java.lang.reflect.InvocationTargetException 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.GeneratedMethodAccessor108.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125) 
    at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314) 
Caused by: java.lang.LinkageError: loader (instance of org/jenkinsci/plugins/workflow/cps/CpsGroovyShell$CleanGroovyClassLoader): attempted duplicate class definition for name: "lib/lib" 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 

Wenn ich das Plugin die Fehler zu deaktivieren weggeht. Bemerkenswert ist, dass es um "job.buildHealthReports" zu umgehen scheint und dass das Problem "lib/lib" ist. Ich gehe davon eine doppelte Bibliothek loading ...

Installierte Plugins:

Aktiviert Name ↓ Version bereits installierte Version
Fixierte Uninstall Allure Jenkins Plugin Dieses Plugin Allure Werkzeug in Jenkins Reporting integriert. 2,22
Ansicolor Fügen ANSI Färbung an die Konsolenausgabe 0.5.2
Ant Plugin fügt Apache Ant Unterstützung Jenkins 1.7 Authentifizierungs-Tokens API Plugin Dieses Plugin stellt eine API für Berechtigungsnachweise in Authentifizierungs-Tokens in Jenkins umwandelt. 1.3 Autofavorite für Blue Ocean automatisch favorisiert Multibranch Pipeline-Jobs, wenn der Benutzer der Autor ist 1.0.0
Bitbucket Branch Source Plugin Ermöglicht Bitbucket Cloud als Quelle für Multi-Branch-Projekte zu verwenden. Es stellt außerdem die erforderlichen -Connectors für den Bitbucket Cloud Team-Ordner (auch bekannt als Repositories automatisch erkennen) bereit. 2.2.3 Bitbucket Pipeline für Blue Ocean Blue Ocean Bitbucket Pipeline Schöpfer 1.2.0
Blue Ocean Blue Ocean Aggregator 1.2.0
Blue Ocean Pipeline-Editor Der Blue Ocean Pipeline-Editor ist der einfachste Weg für jedermann, mit zu beginnen wollen, zu schaffen Pipelines in Jenkins 1.2.0
bouncycastle API Plugin Dieses Plugin bietet eine stabile API zu Bouncy Castle bezogenen Aufgaben. 2.16.2
Branch-API-Plugin Dieses Plugin bietet eine API für mehrere branchenbasierte Projekte. 2.0.11
Build Monitor-Ansicht Bietet eine gut sichtbare Ansicht des Status ausgewählter Jenkins-Jobs. Es kann problemlos verschiedene Computer Bildschirmgrößen aufnehmen und ist ideal als Extreme Feedback Gerät zu auf einem Bildschirm an der Wand des Büros angezeigt werden. 1.12 + build.201704111018 gemeinsame API für Blue Ocean Dieses Plugin ein Teil von Blue Ocean UI ist 1.2.0
Config-API für Blue Ocean Blue Ocean Analytics-Tools Plugin 1.2.0
Config File Provider Plugin Fähigkeit Konfiguration bereitzustellen, Dateien (zB settings.xml für Maven, XML, Groovy, benutzerdefinierte Dateien, ...) geladen über die UI, die in den Job-Arbeitsbereich kopiert werden. 2.16.3 Anmeldeinformationen für Anmeldeinformationen Ermöglicht die Bindung von Anmeldeinformationen an Umgebungsvariablen für die Verwendung in verschiedenen Erstellungsschritten. 1.13
Anmeldeinformations-Plugin Mit diesem Plugin können Sie Anmeldeinformationen in Jenkins speichern. 2.1.15
Gurke JSON Test Berichterstattung. Dieses Plugin versteht Gurke JSON-Dateien und konvertiert sie in Jenkins TestCase, so dass sie in den Standard-Testberichte angezeigt werden können. 0.9.7 Gurkenberichte Dieses Projekt bietet hübsche HTML-Berichte für Gurken. Es funktioniert, indem HTML aus der Gurke JSON Bericht Formatierer generieren. Kann überall verwendet werden, wo ein JSON-Bericht generiert wird (Java, Ruby, JavaScript und andere Implementierungen). 3.10.1
Armaturenbrett für Blue Ocean Blue Ocean Armaturenbrett 1.2.0
Anzeige-URL-API bietet den DisplayURLProvider Erweiterungspunkt alternative URLs für Benachrichtigungen für Blue Ocean 2.0 Anzeige-URL im Einsatz zur Verfügung zu stellen Diese Plugin erzeugt Blue Ocean spezifische URLs für das angezeigte URL-Plugin. 2.1.0
Docker Commons Plugin Bietet die gemeinsame gemeinsame Funktionalität für verschiedene Docker-bezogene Plugins. 1.8 Docker-Pipeline Erstellen und verwenden Sie Docker-Container aus Pipelines. 1.12
Dauerhafte Aufgaben-Plugin-Bibliothek, die einen Erweiterungspunkt für Prozesse bietet, die außerhalb von Jenkins ausgeführt werden können und dennoch überwacht werden. 1,14
Events API für Blue Ocean Blue Ocean Events 1.2.0
externen Monitor Jobtyp Plugin fügt die Fähigkeit 1.7 Favorite Plugin Benutzer Lieblings ermöglicht ein Job das Ergebnis von extern ausgeführten Aufträge zu überwachen. 2.3.0
Ordner-Plugin Mit diesem Plugin können Benutzer "Ordner" erstellen, um Jobs zu organisieren. Benutzer können benutzerdefinierte Taxonomien definieren (zB nach Projekt Typ, Organisationstyp usw.). Ordner sind verschachtelbar und Sie können Ansichten in Ordnern definieren. Verwaltet von CloudBees, Inc. 6.1.2
Git-Client-Plug-Utility-Plugin für Git-Unterstützung in Jenkins 2.5.0
Git Pipeline für Blue Ocean Blue Ocean Git SCM Pipeline Schöpfer 1.2.0
Git-Plugin Dieses Plugin integriert Git mit Jenkins. 3.5.1
GIT-Server-Plugin Ermöglicht Jenkins, als Git-Server zu agieren. 1.7 GitHub API Plugin Dieses Plugin bietet GitHub API für andere Plugins. 1.86
GitHub Branch Source Plugin Multibranch Projekte und Organisationsordner von GitHub. Verwaltet von CloudBees, Inc. 2.2.3
GitHub Organization Folder Plugin Die Funktionalität, die von diesem Plugin zur Verfügung gestellt wurde, wurde in das GitHub Branch Source Plugin verschoben. Sie können dieses Plugin sicher löschen, wenn keine Plugins vorhanden sind, die von diesem Plugin abhängen. 1.6 GitHub-Pipeline für Blue Ocean BlueOcean GitHub-Organisations-Pipeline-Ersteller 1.2.0
GitHub-Plugin Dieses Plugin integriert GitHub zu Jenkins. 1.28.0
Grüne Bälle Weil Grün besser als Blau ist! Für die Unterstützung von Farbenblinden konfigurieren Sie die Benutzereigenschaft. 1.15 Versteckter Parameter Plugin 0.0.4 HipChat Plugin Dieses Plugin ist ein HipChat Notifier, der Build Status in HipChat Räumen veröffentlichen kann. 2.1.1 HTML Publisher-Plugin Dieses Plugin veröffentlicht HTML-Berichte. 1.14 i18n für Blue Ocean Blue Internationalisierungs-Plugin (i18n). Dieses Plugin ist Teil des Blue Ocean Plugin Sets. 1.2.0
Icon Shim Plugin Ermöglicht Plugins, das Layout-Tag bei neueren Versionen von Jenkins voll auszunutzen, während mit älteren Versionen kompatibel ist. 2.0.3 Jackson 2 API Plugin Dieses Plugin macht die Jackson 2 JSON APIs für andere Jenkins Plugins zugänglich. 2.7.3 Javadoc Plugin 1.4 JavaScript GUI Lib: ACE Editor Bundle Plugin JavaScript GUI Lib: ACE Editor Bundle Plugin. 1.1 JavaScript GUI Lib: Lenker-Bundle-Plugin JavaScript GUI Lib: Lenker-Bundle-Plugin. 1.1.1 JavaScript GUI Lib: jQuery Bundles (jQuery und jQuery UI) Plugin JavaScript GUI Lib: jQuery Bundles (jQuery und jQuery UI) Plugin. 1.2.1 JavaScript GUI Lib: Moment.js Bundle-Plugin JavaScript GUI Lib: Moment.js Bundle-Plugin. 1.1.1 JIRA-Plugin Dieses Plugin integriert Jenkins zu Atlassian JIRA. 2.4.2 jQuery-Plugin Dies ermöglicht anderen Plugins, jQuery in UI zu verwenden. 1.11.2-0 JUnit-Plugin Ermöglicht die Veröffentlichung von JUnit-Format-Testergebnissen. 1,21
JWT für Blue Ocean Blue Ocean JWT Plugin: Ermöglicht JWT basiert Blue Ocean API-Authentifizierung 1.2.0
Kubernetes Plugin Jenkins Plugin dynamische Slaves in einem Kubernetes/Docker Umgebung 1.0 LDAP Plugin fügt LDAP-Authentifizierung Jenkins 1.16 laufen
Mailer-Plugin Mit diesem Plugin können Sie E-Mail-Benachrichtigungen für Build-Ergebnisse konfigurieren. 1.20
Matrix-Autorisierungsstrategie-Plugin Bietet matrixbasierte Sicherheitsautorisierungsstrategien (global und pro-Projekt). 1.7 Matrix Project Plugin Multi-Konfigurations- (Matrix-) Projekttyp. 1.11
Maven Integration Plugin Dieses Plugin bietet, für Gedeih und Verderb, eine tiefe Integration von Jenkins und Maven: Automatische Auslöser zwischen den Projekten je nach Schnappschüssen automatische Konfiguration von verschiedenen Jenkins Herausgeber (JUnit, ...) . 2.17
Maven Release Plug-in Plug-in Ein Plug-In, mit dem Sie Releases mit dem maven-release-plugin von Jenkins durchführen können. 0.14.0 Mercurial Plugin Dieses Plugin integriert Mercurial SCM mit Hudson. Es beinhaltet Repository-Browsing-Unterstützung für hg dienste/hgweb, Google-Code, Bitbucket, FishEye, KilnHG und RhodeCode. Features gehören garantiert saubere Builds, benannt Zweig Unterstützung, Modul Listen, Mercurial-Tool-Installation und automatische Zwischenspeicherung. 2.1 Metrics Plugin Dieses Plugin macht die Metrics API für Jenkins Plugins zugänglich. 3.1.2.10
NodeJS-Plugin Das NodeJS-Plugin führt das NodeJS-Skript als Build-Schritt aus. 1.2.4
OWASP-Markup-Formatierer-Plugin Verwendet den OWASP-Java-HTML-Sanitizer, damit in HTML-Beschreibungen des Projekts sicheres HTML-Markup eingegeben werden kann. 1.5 PAM-Authentifizierungs-Plug-in Fügt Jenkins Unterstützung für Unix-Pluggable Authentication Module (PAM) hinzu. 1.3 Personalisierung für Blue Ocean Blue Ocean 1.2.0 Pipeline Eine Reihe von Plugins, mit denen Sie einfache oder komplexe Automation orchestrieren können. Weitere Informationen finden Sie unter Pipeline als Code mit Jenkins. 2.5 Pipeline-Diagrammanalyse-Plugin Stellt eine REST-API für den Zugriff auf Pipeline- und Pipeline-Ausführungsdaten bereit. 1.5 Pipeline-Implementierung für Blue Ocean Dieses Plugin ist ein Teil von Blue Ocean Plugin 1.2.0
Pipeline SCM-API für Blue Ocean Dieses Plugin ein Teil von Blue Ocean Plugin ist 1.2.0
Pipeline-Dienstprogramm Schritte Dienstprogramm Schritte für Pipeline-Jobs . 1.4.0
Pipeline: API-Plugin, das die Pipeline-API definiert. 2.20
Pipeline: Grundlegende Schritte Häufig verwendete Schritte für Pipelines. 2.6 Pipeline: Build-Schritt Fügt den Pipeline-Schritt Build hinzu, um Builds anderer Jobs auszulösen. 2.5.1
Pipeline: Deklarative API API ersetzt durch Pipeline: Deklarative Erweiterungspunkte API-Plugin. 1.1.1
Pipeline: Deklarative Erweiterungspunkte API-APIs für Erweiterungspunkte, die in deklarativen Pipelines verwendet werden. 1.1.9
Pipeline: GitHub Groovy Libraries Ermöglicht das Laden von Grvy-Bibliotheken von GitHub. 1.0 Pipeline: Groovy Pipeline-Ausführungsengine basierend auf einer Fortsetzungsübergabe-Stilumwandlung von Groovy-Skripten. 2.40
Pipeline: Eingabeschritt Fügt die Pipeline-Schritteingabe hinzu, um auf menschliche Eingabe oder Genehmigung zu warten. 2.8 Pipeline: Job Definiert einen neuen Jobtyp für Pipelines und stellt deren generische Benutzeroberfläche bereit. 2.11.2
Pipeline: Meilenstein-Step-Plugin, das den Meilenstein-Schritt bereitstellt 1.3.1
Pipeline: Modell-API-Modell-API für deklarative Pipeline. 1.1.9
Pipeline: Modelldefinition Eine eigenmächtige, deklarative Pipeline. 1.1.9
Pipeline: Multibranch Erweitert das Pipeline-Plugin, um Zweige besser zu behandeln, indem Builds aus verschiedenen Zweigen automatisch gruppiert werden. 2.16
Pipeline: Knoten und Prozesse Pipeline-Schritte, die Agenten und Arbeitsbereiche sperren und externe Prozesse ausführen, die einen Jenkins Neustart oder eine erneute Slave-Verbindung überstehen können. 2.15
Pipeline: REST-API-Plugin Bietet eine REST-API für den Zugriff auf Pipeline- und Pipeline-Ausführungsdaten. 2.9 Pipeline: SCM-Schritt Fügt einen Pipeline-Schritt zum Auschecken oder Aktualisieren von Arbeitsquellen aus verschiedenen SCMs (Versionskontrolle) hinzu. 2.5 Pipeline: Gemeinsame Groovy-Bibliotheken Gemeinsam genutzte Bibliotheken für Pipeline-Skripte. 2.8 Pipeline: Stufenschritt Fügt die Pipeline-Schrittstufe hinzu, um Teile eines Builds abzugrenzen. 2.2 Pipeline: Stage-Tags Metadaten-Bibliothek-Plugin für Pipeline-Stage-Tag-Metadaten. 1.1.9
Pipeline: Stage View Plugin Pipeline Stage View Plugin. 2.9 Pipeline: Schritt-API-API für primäres asynchrones Build-Schritt. 2.12
Pipeline: Unterstützende APIs Allgemeine Dienstprogrammimplementierungen zum Erstellen von Pipeline-Plugins 2.14
Plain Credentials-Plugin Ermöglicht die Verwendung von einfachen Zeichenfolgen und Dateien als Anmeldeinformationen. 1.4 Pub-Sub "Light" -Bus Ein einfacher Publish-Subscribe-Lightweight-Event-Bus für Jenkins 1.12
Veröffentlichen über SSH Senden von Build-Artefakten über SSH 1.17 Resource Disposer-Plugin Ressourcen asynchron verwerfen. Dienstprogramm-Plugin für Ressourcen, die mehr Wiederholungen erfordern oder eine lange Zeit zum Löschen benötigen. 0.7 REST API für Blue Ocean Dieses Plugin ist ein Teil von Blue Ocean UI 1.2.0
REST-Implementierung für Blue Ocean Dieses Plugin ist ein Teil von Blue Ocean UI 1.2.0
SCM API Plugin Dieses Plugin bietet eine neue erweiterte API für die Interaktion mit SCM-Systemen. 2.2.1
Skript-Sicherheits-Plugin Ermöglicht Jenkins-Administratoren die Kontrolle darüber, welche In-Process-Skripte von weniger privilegierten Benutzern ausgeführt werden können. 1.34
Serenity-Plugin Dieses Plugin veröffentlicht Serenity-Berichte, die Codeabdeckung, Komplexität und Stabilität Projektmetriken sind. 1.2 Server gesendet Ereignisse (SSE) Gateway Plugin Server gesendet Ereignisse (SSE) Gateway. 1.15 Shelve Project Plugin Mit diesem Plugin können Sie Projekte abstellen, so dass sie leicht wieder auferstehen können. 1.5 SonarQube Scanner für Jenkins Dieses Plugin ermöglicht eine einfache Integration von SonarQube, der Open-Source-Plattform für Kontinuierliche Inspektion von Code-Qualität. 2.6.1
SSH Credentials-Plugin Ermöglicht das Speichern von SSH-Anmeldeinformationen in Jenkins 1.13 Structs Plugin Bibliothek Plugin für DSL-Plugins, die Namen für Jenkins-Objekte benötigen. 1.10
Token-Makro-Plugin Dieses Plug-In fügt wiederverwendbare Makro-Erweiterungsfunktionen für andere zu verwendende Plug-Ins hinzu. 2.3 Varianten-Plug-In Dieses Plug-In für Benutzer-unsichtbare Bibliotheken ermöglicht es anderen multimodalen Plugins, sich je nachdem, wo sie ausgeführt werden, unterschiedlich zu verhalten. 1.1 Web für Blue Ocean Blue Ocean Kern 1.2.0
Windows-Slaves-Plugin Ermöglicht Ihnen, eine Verbindung zu Windows-Maschinen herzustellen und auf ihnen Slave-Agenten zu starten. 1.3.1
Workspace Cleanup Plugin Dieses Plugin löscht den Projektarbeitsbereich nach Abschluss eines Builds. 0.34

Irgendwelche Ideen ??? Ich habe nicht einmal eine Ahnung, wo ich nach einer Lösung suchen soll, daher wäre jede Hilfe willkommen.

Danke, Milo

Antwort

1

Es gab einige Pipelines abgestürzt, die keinen Status im Übersichtsbild haben. Nach dem Löschen der Build-Instanzen aus diesen Jobs (..// build/...) ging der Fehler verloren. Falsche Erstellung kann dadurch gesehen werden, dass es keine symbolischen Verknüpfungen zu dem Job gibt.

Sie werden verstehen, wenn Sie in die entsprechenden Ordner gehen :)

Cleanup-Skript:

#!/bin/bash 

export BASEFOLDER="/data/jenkins/volumes/tools/web/jobs/" 

cd $BASEFOLDER 
for folder in */; do 
    echo "Checking '$folder'..." 
    cd "${folder}builds" 2>/dev/null || continue 
    export HIGHEST=`ls | grep -o '[0-9]*' | sort -nr | head -n 1` 
    echo " Found $HIGHEST. Checking symlink..." 
    if [ $(find . -maxdepth 1 -lname $HIGHEST | wc -l) -eq 0 ] && [ "$HIGHEST" != "" ]; then 
    echo "  *******************************************" 
    echo "  Missing. Running the command below to fix this:" 
    echo "  rm -rf \"`pwd`/$HIGHEST\"" 
    echo "  *******************************************" 
    rm -rf \"`pwd`/$HIGHEST\" 
    fi 
    cd $BASEFOLDER 
done 
Verwandte Themen