Ich versuche, ein Shell-Skript auszuführen, wenn entweder der Build erfolgreich ist oder nach dem Post-Build in Jenkins fehlschlägt. Ich kann diese Option nach dem Erstellen nicht sehen, um ein Shell-Skript auszuführen, außer um ein Ziel auszuführen.
shell
jenkins
jenkins-plugins
Top Gun
quelle
quelle
Sie können auch beliebige Befehle mit dem Groovy Post Build ausführen - und das gibt Ihnen viel Kontrolle darüber, wann sie ausgeführt werden und so weiter. Wir verwenden dies, um bei fehlgeschlagenen oder instabilen Builds ein "Finger of Blame" -Shell-Skript auszuführen.
if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) { item = hudson.model.Hudson.instance.getItem("PROJECTNAMEHERE") lastStableBuild = item.getLastStableBuild() lastStableDate = lastStableBuild.getTime() formattedLastStableDate = lastStableDate.format("MM/dd/yyyy h:mm:ss a") now = new Date() formattedNow = now.format("MM/dd/yyyy h:mm:ss a") command = ['/appframe/jenkins/appframework/fob.ksh', "${formattedLastStableDate}", "${formattedNow}"] manager.listener.logger.println "FOB Command: ${command}" manager.listener.logger.println command.execute().text }
(Unser Befehl verwendet das letzte stabile Erstellungsdatum und die aktuelle Uhrzeit als Parameter, damit untersucht werden kann, wer den Build möglicherweise beschädigt hat. Sie können jedoch beliebige Befehle auf ähnliche Weise ausführen.)
quelle
Wenn ich Ihre Frage richtig lese, möchten Sie ein Skript im Post-Build-Aktionsteil des Builds ausführen.
Ich selbst verwende das PostBuildScript-Plugin zum Ausführen,
git clean -fxd
nachdem der Build Artefakte archiviert und Testergebnisse veröffentlicht hat. Meine Jenkins-Slaves verfügen über SSD-Festplatten, sodass der Raum keine generierten Dateien im Arbeitsbereich aufbewahrt.quelle
Sie sollten dies mit dem Batch Task-Plugin tun können .
Eine Alternative kann auch das Post-Build-Task- Plugin sein.
quelle
Sie müssten das Post-Build-Shell-Skript als separaten Jenkins-Job einrichten und als Post-Build-Schritt auslösen. Es sieht so aus, als müssten Sie das Parametrisierte Trigger-Plugin verwenden, da die Standardoption "Andere Projekte erstellen" nur funktioniert, wenn Ihr Trigger-Build erfolgreich ist.
quelle