Ich habe einige groovy Code, den ich in Jenkins Groovy Post Build-Plugin von mehreren Jobs wiederverwenden will. Wie kann ich das erreichen? Gibt es einen Ort, an dem ich das Skript in einer globalen Variable speichern kann und das in den Jobs aufrufen kann, wo immer ich es brauche?Wie man groovy Skript in Jenkins Groovy Post Build-Plugin wiederverwenden?
Antwort
Hier ist die Lösung, die für mich gearbeitet:
- installiert Scriptler Plugin für Jenkins und rettete die Groovy-Skript, dass. Jetzt ist das Skript im Verzeichnis
JENKINS_HOME/scriptler/scripts
verfügbar. Auf diese Weise können Sie den manuellen Schritt des Kopierens von Dateien in Jenkins-Master vermeiden. - die groovy Datei in Post build benutzt:
def env = manager.build.getEnvironment(manager.listener) evaluate(new File(env['JENKINS_HOME'] + "\\scriptler\\scripts\\GroovyForPostBuild.groovy"))
Sie können jede groovy Datei, die auf dem Jenkins Master lebt, in den groovigen Postbuild laden und ausführen. Beispielsweise könnten Sie auf dem Laufwerk c ein spezielles Verzeichnis haben, in dem alle gängigen Skripts gespeichert sind. Ich werde meine Antwort später mit einigen Code aktualisieren, die zeigt, wie Sie in das Skript laden
aktualisieren
Vorausgesetzt Sie haben eine test.groovy Datei auf Ihrem C:. Laufwerk, sollte es so einfach sein wie folgt in Groovy Postbuild:
evaluate(new File("C:\\test.groovy"))
Bitte lesen Sie den Kommentarbereich des Groovy Postbuild für weitere Beispiele und möglicherweise auch andere Wege.
als Sie. Diese Lösung half mir auf halbem Wege. Hier ist das, was ich getan habe, um es zu einer vollständigen Lösung zu machen: – rkkreddy
Ich denke, dass Ihr Kommentar abgeschnitten wurde, da ich die Lösung nicht sehe. Wenn Sie möchten, können Sie Ihre Lösung als eine andere Antwort hinzufügen und dann als endgültige Lösung akzeptieren zu deinem Problem .. Es würde wahrscheinlich anderen helfen. Wenn meine Antwort hilfreich für Sie war, können Sie sie abstimmen. :) –
Dies ist eine Kopie von my answer to this similar question on StackOverflow:
Wenn Sie den Groovy-Skript in Ihrer Code-Repository und auf die geladen haben wollen Build/Test Slave im Arbeitsbereich, dann müssen Sie beachten, dass Groovy Postbuild auf dem Master ausgeführt wird.
Für uns ist der Master ein Unix-Server, während die Build/Test-Slaves Windows-PCs im lokalen Netzwerk sind. Daher müssen wir vor der Verwendung des Skripts einen Kanal vom Master zum Slave öffnen und einen FilePath für die Datei verwenden.
Die folgende war für uns:
// Get an Instance of the Build object, and from there
// the channel from the Master to the Workspace
build = Thread.currentThread().executable
channel = build.workspace.channel;
// Open a FilePath to the script
fp = new FilePath(channel, build.workspace.toString() + "<relative path to the script in Unix notation>")
// Some have suggested that the "Not NULL" check is redundant
// I've kept it for completeness
if(fp != null)
{
// 'Evaluate' requires a string, so read the file contents to a String
script = fp.readToString();
// Execute the script
evaluate(script);
}
- 1. Jenkins: Wie man Benutzer LDAP-Gruppen in Groovy-Skript
- 2. Entwickle jenkins groovy Skript in Eclipse
- 3. Wie bricht man ein System groovy Skript
- 4. Jenkins-Groovy Skriptfehler
- 5. Wie RTC-Plugin von jenkins pipeline groovy Skript verwenden?
- 6. Git-Bearbeitung aus einem Groovy-System-Skript in Jenkins
- 7. Wie Ant in Jenkins Pipeline-Auftrag mit groovy Skript aufrufen?
- 8. hudson * .groovy nicht in jenkins
- 9. Jenkins Pakete auf Groovy Classpath?
- 10. Jenkins: Saubere Arbeitsbereiche mit Groovy
- 11. Jenkins groovy Klassenpfad Problem - Klasse
- 12. Fehler: „Erwartete benannte Argumente“ parallel in Jenkins groovy Skript
- 13. Zugriff auf das aktuelle Jenkins-Build in Groovy-Skript
- 14. groovy Skript Classpath
- 15. Jenkins - Wie liest man die Umgebungsvariablen in groovy Post Build Schritt
- 16. Lesen Datei von Jenkins Arbeitsplatz mit System-groovy Skript
- 17. Wie setzt man Variablen in einem mehrzeiligen Shell-Skript innerhalb von Jenkins Groovy?
- 18. Wie man groovy Skript in Java laufen lässt?
- 19. Wie ändert man Eclipse-Groovy Plugin Groovy Bibliotheken?
- 20. Unterschied zwischen execute groovy Skript und dem Groove-Skript execute system in jenkins?
- 21. Run groovy Skript von innerhalb Gradle
- 22. Wie führe ich Shell-Skript aus Jenkins groovy Skript in der Parameter-Option?
- 23. Groovy Traverse zeigt ein
- 24. Jenkins Credentials Shop Zugriff über Groovy
- 25. Wie Redirect Ausgabe von Groovy-Skript?
- 26. Wie kann ich HTTP POST-Anfragen innerhalb eines Jenkins Groovy-Skripts ausführen?
- 27. Elasticsearch Escape Bindestrichfeld in groovy Skript
- 28. Schreiben JIRA RESTAPI Anrufe in groovy in Jenkins
- 29. Lauf groovy Skript in Java-Code
- 30. ungelöste Abhängigkeit für httpbuilder in groovy Skript
Danke @Daniel Omoto – rkkreddy