2016-12-10 6 views
1

Ich möchte in der Lage sein, eine benutzerdefinierte Klasse aus meinem Pipeline-Skript zu laden.Wie importiere ich eine benutzerdefinierte Klasse aus Jenkins-Pipeline-Skript?

Insbesondere suche ich meine Pipeline Skript Kasse holt die Jenkinsfile und eine Reihe von .groovy Dateien im selben Verzeichnis auf mit (zB classA.groovy, classB.groovy)

Ich würde erwarten, dass meine Pipeline Skript, einfach tut ein:

import classA 
import classB 

dies führt jedoch in ein „nicht-Klasse lösen“ Fehler.

Ich habe versucht das "pipeline-classpath-step-plugin", aber es erfordert das Haupt-Pipeline-Skript, um seinen neuen Schritt "AddToClassPath" aufrufen und laden Sie dann eine zusätzliche Datei, die dann importieren kann.

Gibt es eine andere Möglichkeit zu ändern (oder sogar zu siehe) der Klassenpfad, mit dem das Skript ausgeführt wird?

+0

Sie können dies versuchen: [Wie importiert man eine Datei mit Klassen in einer Jenkins-Pipeline?] (Https://stackoverflow.com/questions/44811293/how-to-import-a-file-of-classes-in- -a-jenkins-pipeline) – Emile

Antwort

0

Versuchen Sie Jenkins workflow libs. Es ist ein wenig kompliziert, den Code in das Repository zu schreiben, das vom Plugin auf dem Jenkins-Server erstellt wurde, aber danach können Sie genau das tun, wonach Sie gefragt haben (Sie müssen auf die Struktur achten, mehr auf der GitHub-Seite).

+0

Ich habe mir das angeschaut, aber wir benutzen kein git und ich möchte keine globale Bibliothek - es würde verschiedene für verschiedene Jobs geben. Danke für den Vorschlag, egal. –

Verwandte Themen