2017-02-09 1 views
2

Ich habe gefolgt jenkins extending pipeline with shared libraries
wurde, dassJenkins shared library: Was ist der Unterschied zwischen Funktionen im/vars-Ordner und/src-Ordner?

Das src erwähnte Verzeichnis wie Standard-Java-Quellverzeichnis Struktur aussehen soll. Dieses Verzeichnis wird beim Ausführen von Pipelines zum Klassenpfad hinzugefügt.

während das Vars Verzeichnis Skripte hostet, die globalen Variablen definieren zugänglich von Pipeline

Hinweis: Ich bin neugierig auf den Unterschied in der Nutzung nicht in der Umsetzung.

Antwort

0

Ok, nun, Sie können einige Beispiel Unterschiede in der Verwendung sehen, indem Sie einfach die Proben auf der Extending with Shared Libraries Seite, die Sie wahrscheinlich schon gesehen haben. Wenn Sie beispielsweise nach dem "Zot.groovy" -Beispiel suchen, sehen Sie, dass der Code, der dies verwendet, die Klasse "Zot" "neu" erstellt. Wenn Sie sich jedoch das Beispiel "vars/acme.groovy" ansehen, werden Sie feststellen, dass der Benutzercode nicht "neu" ist, da die globale Variable namens "acme" vom Skript referenziert wird.

Es gibt andere Unterschiede, aber das ist ein einfacher Kontrast.

+1

danke, ich denke, das geht mit dem, was sie erwähnt, dass vars als Singletons behandelt werden, sie sind auch einfacher zu behandeln, ohne Steps/env explizit übergeben zu müssen, aber ich frage mich immer noch, was die Verwendung von src-Klassen kann Hinzufügen zu dem Prozess, den globale Vars nicht tun können? –

+0

Uh, die Fähigkeit, mehrere Instanzen von ihnen zu erstellen? –

+0

Sie können aber auch eine Klasse innerhalb des src mit einer statischen Methode erstellen, dh sie ist verfügbar, ohne eine Instanz zu erstellen ... – Swifting

Verwandte Themen