Jenkins -如何在不重新运行作业的情况下运行构建后操作



我有一个冗长的Jenkins工作与失败的构建后行动。

如何在不重新运行整个作业的情况下重复运行构建后操作?

如果不能将作业分成两个作业,您可以考虑
https://wiki.jenkins-ci.org/display/JENKINS/Promoted +构建+插件
(这是预先安装与詹金斯我相信)。这将使"推广"步骤成为一个独立且可重复的过程。您可以将其配置为在构建后自动运行,然后在需要时手动运行。

如果您的构建后步骤需要访问构建工件,您将需要使用https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin将构建工件复制到提升的工作空间。

另一个解决方案是根据参数跳过构建步骤。有一个Choice参数叫做SkipBuild之类的。设置可能的值为TRUE/FALSE,默认为FALSE

Build步骤中,在实际构建之前,检查SkipBuild是否设置为TRUE。如果为TRUE,退出0,如果为FALSE(默认值),则运行build命令。

这样,自动构建执行将始终运行构建步骤。但是您也可以手动运行构建并选择"SkipBuild=TRUE"跳过构建步骤并直接进入构建后操作。如果您需要跳过一些构建后的操作,您还需要在那里实现这个SkipBuild参数。

但是要小心,因为构建的后续执行,即使使用"SkipBuild=TRUE"仍然会执行SVN签出,因此您的工作空间可能会更改。

根据您的构建步骤,您可以"跳过"它们。

例如,我的构建步骤是powershell和windows批处理文件。

如果我想跳过一个步骤,我只需在powershell或批处理命令的第一行添加'exit 0'。

请注意,这仍然会导致其他预构建步骤,如工作空间清理和scm签出正在运行。

根据操作是什么,一个简单的选择可能是将其拆分为一个独立的作业,由原始作业触发。这样,您就可以自由地手动重新运行它。

要在两个作业之间共享工件或工作区,可以使用以下插件:

  • Copy Artifact Plugin
  • Clone Workspace SCM Plugin

最新更新