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.
shell
jenkins
jenkins-plugins
Top Gun
źródło
źródło
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)
źródło
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.źródło
Powinieneś być w stanie to zrobić za pomocą wtyczki Batch Task .
Alternatywą może być również wtyczka Post build task .
źródło
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ę.
źródło