在Jenkins中构build后执行Shell脚本

我试图执行一个shell脚本,如果构build通过或失败之后在jenkins后生成。 在后期构build中,我看不到这个选项来执行一些shell脚本,除了运行一个目标。

谢谢

Post构build任务插件非常容易。

詹金斯 - “后期制作任务”选项

你也可以使用Groovy Post Build来运行任意的命令,这会给你很多的控制权,等等。 在失败或不稳定的构build的情况下,我们使用它来运行“责怪的手指”脚本。

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 } 

(我们的命令将最后一个稳定的生成date和当前时间作为参数,以便可以调查谁可能破坏了构build,但是可以以类似的方式运行您喜欢的任何命令)

如果我正在阅读你的问题,你想在构build的后期构build行动部分运行一个脚本。

我自己使用PostBuildScript插件运行git clean -fxd后,构build已存档的工件和发布的testing结果。 我的jenkins奴隶有SSD磁盘,所以我没有在工作区保留生成的文件的空间。

你应该可以用批量任务插件来做到这一点。

  1. 在项目中创build一个批处理任务。
  2. 添加一个“调用批处理任务”后编译选项select相同的项目。

一个替代scheme也可以是Post build task插件。

您必须将后构buildshell脚本设置为单独的Jenkins作业,并将其作为构build后步骤触发。 看起来您需要使用参数化触发器插件作为标准的“构build其他项目”选项,只有当您的触发构build成功时才有效。