Próbuję wykonać skrypt powłoki, jeśli kompilacja przebiega pomyślnie lub kończy się niepowodzeniem po zakończeniu kompilacji w Jenkins. Nie widzę tej opcji po kompilacji, aby wykonać jakiś skrypt powłoki, z wyjątkiem uruchamiania celu.
Odpowiedzi:
Bardzo łatwo to zrobić za pomocą wtyczki Post build task .
Możesz także uruchamiać dowolne polecenia za pomocą Groovy Post Build - a to da ci dużą kontrolę nad ich uruchomieniem i tak dalej. Używamy tego do uruchamiania skryptu powłoki „palec winy” w przypadku nieudanych lub niestabilnych kompilacji.
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
}
(Nasze polecenie przyjmuje ostatnią stabilną datę kompilacji i bieżący czas jako parametry, aby można było zbadać, kto mógł zepsuć kompilację, ale możesz uruchomić dowolne polecenia w podobny sposób)
Jeśli dobrze czytam twoje pytanie, chcesz uruchomić skrypt w części działań po kompilacji w kompilacji.
Sam używam wtyczki PostBuildScript do uruchamiania git clean -fxd
po zarchiwizowaniu artefaktów i opublikowaniu wyników testów przez kompilację. Moi niewolnicy Jenkins mają dyski SSD, więc nie mam pokoju, aby przechowywać wygenerowane pliki w obszarze roboczym.
Powinieneś być w stanie to zrobić za pomocą wtyczki Batch Task .
Alternatywą może być również wtyczka Post build task .
Musiałbyś skonfigurować skrypt powłoki po kompilacji jako oddzielne zadanie Jenkinsa i uruchomić go jako krok po kompilacji. Wygląda na to, że będziesz musiał użyć sparametryzowanej wtyczki wyzwalacza, ponieważ standardowa opcja „Buduj inne projekty” działa tylko wtedy, gdy wyzwalanie kompilacji powiedzie się.